Boa noite.
Estou fazendo um programinha básico, e acho que vai ser rápido pra descobrir por que está retornando errado o NOME da pessoa com maior idade.
Tenho duas classes, o objetivo do programa é RETORNAR A MAIOR IDADE JUNTO DO NOME DA PESSOA E A MÉDIA DE IDADE.
A média está ok, a idade maior está ok, porém o NOME da pessoa de MAIOR idade retorna errado.
PODERIAM DAR UMA OLHADA ? OBRIGADO !
public class Pesquisa{
private Pessoa vPessoa[] = new Pessoa[10];
private int cont = 0;
//Construtor
Pesquisa(){
insere();//método para inserir as instancias em um array/vetor
maiorIdade();
media();
}
public void insere(){
vPessoa[0] = new Pessoa(20,"Maria");//instância/objeto da classe Pessoa
vPessoa[1] = new Pessoa(23,"Cláudia");
vPessoa[2] = new Pessoa(40,"Angélica");
vPessoa[3] = new Pessoa(35,"Mônica");
vPessoa[4] = new Pessoa(111,"Melissa");
vPessoa[5] = new Pessoa(37,"Fernanda");
vPessoa[6] = new Pessoa(19,"Ana");
vPessoa[7] = new Pessoa(21,"Nathalia");
vPessoa[8] = new Pessoa(9,"Luisa");
vPessoa[9] = new Pessoa(28,"Lisandra");
cont = 10;
}
public void maiorIdade(){
int maior = vPessoa[0].getIdade();//começamos pela pos 0
String nome = vPessoa[0].getNome();//começamos pela pos 0
int posicao = 0;
for(int i=0;i<cont;i++){
if(vPessoa[i].getIdade()>maior) //conforme o for
maior = vPessoa[i].getIdade();
nome = vPessoa[i].getNome();
posicao = i;
}
System.out.println("Maior Idade: "+maior+" Nome: "+nome +" pos"+posicao);
}
public void media(){
int total=0;
double media=0;
for(int i=0;i<cont;i++) {
total = total + vPessoa[i].getIdade();//somatório do array
}
media = (double) total / cont; //somatório dividido pelo total de pessoas
System.out.println("Média de Idades: "+media );
}
public static void main(String args[]){
Pesquisa pesq = new Pesquisa();
}
}
public class Pessoa{
private int idade;
private String nome;
public Pessoa(){
idade = 0;
nome = "";
}
public Pessoa(int id, String nome){
idade = id;
this.nome = nome;
}
public void setIdade(int id){
idade = id;
}
public int getIdade(){
return idade;
}
public void setNome(String nome){
this.nome = nome;
}
public String getNome(){
return nome;
}
public String toString(){
return("Idade : " + idade + "\n" +
"Nome : " + nome);
}
}