Ir ao conteúdo
  • Cadastre-se
Gustavo Bove

Mostrar nome da pessoa mais nova

Recommended Posts

Tenho que inserir o nome de uma pessoa e sua respectiva idade, em seguida mostrar qual a maior idade digitada e o nome da pessoa mais nova.

Estou com problemas em conseguir mostrar o nome da pessoa mais nova e mostrar qual a idade dela, segue o código que fiz até o momento: 

 

 

 

 

package exercicio6;
import java.util.Scanner;

public class Exercicio6 {
   
    public static void main(String[] args) {
        
        Scanner input = new Scanner (System.in);
        
        String nome[] = new String[3];
        int idade[] = new int[3];
        int maior = -9999, menor = 9999;
        
       
        
        
        for (int i=0; i<3; i++) {
            System.out.println ("Insira o nome da pessoa: ");
            nome[i] = input.nextLine();
                                }
        
        int i=0;
        
        for (int j=0; j<3; j++) {
            System.out.println ("Insira a idade do(a) " +nome[i++]);
            idade[j] = input.nextInt();
                                }
        
        for (int j=0; j<3; j++) {
            
            if (idade[j] < menor) {  
            menor = idade[j];
             
            //fiz esse for para ver qual é a menor idade, consigo mostrar em forma
            //de numero, mas não consigo dizer para qual das pessoas a menor idade  
            //pertence 
            
          
                                  }
                                
        
        
        
        for (j=0; j<3; j++) {
        
        if (idade[j] > maior) {
            maior = idade[j];
                              }
       
        
        
                                }
        
        
        
        
        System.out.println("Maior idade digitada: " +maior);
    
}
}
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, dcm50 disse:

tente armazenar dentro do mesmo "for" e "if", o nome e a idade.

não há necessidade de fazer dois "for" separados.

 

 

Poderia digitar só essa parte, por favore?

Compartilhar este post


Link para o post
Compartilhar em outros sites
for (int i=0, j=0; i<3, j<3; i++, j++) {
            System.out.println ("Insira o nome da pessoa: " +nome[i]);
            nome[i] = input.nextLine();
            System.out.println ("Insira a idade do(a) " +nome[j]);
            idade[j] = input.nextInt();
	        if (idade[j] < menor) {
		       menor = idade[j];
		       nome = nome[i];
            }
     }

System.out.println ("Menor idade: " +menor);
System.out.println ("Nome: " +nome);

talvez tenha algum erro de sintaxe mas espero que tu tenha entendido a ideia

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, dcm50 disse:

for (int i=0, j=0; i<3, j<3; i++, j++) {
            System.out.println ("Insira o nome da pessoa: " +nome[i]);
            nome[i] = input.nextLine();
            System.out.println ("Insira a idade do(a) " +nome[j]);
            idade[j] = input.nextInt();
	        if (idade[j] < menor) {
		       menor = idade[j];
		       nome = nome[i];
            }
     }

System.out.println ("Menor idade: " +menor);
System.out.println ("Nome: " +nome);

talvez tenha algum erro de sintaxe mas espero que tu tenha entendido a ideia

Eu entendi a lógica sim, porém ainda não consegui manipular o vetor da maneira que quero, alonguei o código e fiz sem vetor. Mas ainda sim gostaria muito que alguém me desse uma luz sobre a minha questão.

 


package exercicio6;

import java.util.Scanner;


public class Exercicio6 {

   
    public static void main(String[] args) {
        
        Scanner input = new Scanner (System.in);
        
     String nome1, nome2, nome3, aux = null;
     int idade1, idade2, idade3, maior = -9999, menor = 9999, m = 0;
     double media = 0;
     
     System.out.println ("Insira o nome: ");
     nome1 = input.nextLine();
     System.out.println ("Insira a idade do " +nome1);
     idade1 = input.nextInt();
     
    
     
     System.out.println ("Insira o nome: ");
     nome2 = input.next();
     System.out.println ("Insira a idade do " +nome2);
     idade2 = input.nextInt();
        
     System.out.println ("Insira o nome: ");
     nome3 = input.next();
     System.out.println ("Insira a idade do " +nome3);
     idade3 = input.nextInt();
        
        
     if (idade1 > maior) { 
         maior = idade1;
         aux = nome1;
     }
     if (idade2 > maior) { 
         maior = idade2;
         aux = nome2;
     } 
     if (idade3 > maior){
         maior = idade3;
         aux = nome3;
     }
     
     media = (idade1 + idade2+ idade3) / 3;
     
         
                                                   
     
     System.out.println ("A pessoa mais velha é " +aux+ " com " +maior+ " anos de idade");
     System.out.println ("A media das idades é de " +media+ " anos");
        
        
   
}

}

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×