Questão 3 n1 Professor Rubens Corrigida
Autor: Rogério Andrade Valadão | Publicado: 2011-07-30T13:11:00-07:00

usando os métodos getters e setters (eclipse Helio)
1º crie a classe Pessoa, e 3 atributos private nome, altura, peso
depois vá em Source e em Generate Getters and Setters.
marque os quadradinhos dos atributos criados.


package exerciciosExtras;

public class Pessoa {
 
 private String nome;
 private float altura;
 private float peso;
 
 public String getNome() {
  return nome;
 }
 public void setNome(String nome) {
  this.nome = nome;
 }
 public float getAltura() {
  return altura;
 }
 public void setAltura(float altura) {
  this.altura = altura;
 }
 public float getPeso() {
  return peso;
 }
 public void setPeso(float peso) {
  this.peso = peso;
 }
 
 
}

----------------------------------------------------------------------------------
crie outra classe que contenha o método main, onde criaremos os objetos
precisaremos de 4 variáveis 



package exerciciosExtras;

import javax.swing.JOptionPane;

public class PessoaTesta {
 public static void main(String[] args) {
  float maisAlta = 0;
  float maisPesada = 0;
  String pessoaMaisAlta = "";
  String pessoaMaisPesada = "";


2º preciso definir meu vetor da classe Pessoa, a variável x é para definir o tamanho 
do vetor, poderia passar para o usuário digitar o tamanho do vetor. 



// Definição do vetor com os id´s dos objetos;
  int x = 2;
  Pessoa vetor[] = new Pessoa[x];


3º Popular o vetor ou seja, vou falar pro vetor na posição 0 coloque pra mim
nome, altura e peso. Da classe Pessoa crio um for e passo [i] para alocar outras posições 
do vetor, o vetor.length percorre o tamanho do vetor.   



 // Popular o vetor com os objetos da classe Pessoa.
  for (int i = 0; i < vetor.length; i++) {
   vetor[i] = new Pessoa();
  }

4º aqui vamos pedir para o usuário digitar os valores, vamos criar 3 variáveis 
e usar o JOptionPane para criar as caixas de textos. Depois vamos passar estas 
variáveis por parâmetros, para o vetor que foi instanciado da Classe Pessoa    



for (int i = 0; i < vetor.length; i++) {
   String nome = JOptionPane.showInputDialog("Digite nome: ");
   float altura = Float.parseFloat(JOptionPane.showInputDialog("Digite Altura: "));
   float peso = Float.parseFloat(JOptionPane.showInputDialog("Digite Peso: "));

   vetor[i].setNome(nome);
   vetor[i].setAltura(altura);
   vetor[i].setPeso(peso);

  }


5º Fazer a comparação que o exercício pede Apresentar o nome da pessoa mais alta e 
mais pesada.


 for (int i = 0; i < vetor.length; i++) { // um laço for para percorrer o vetor preenchido

     //uso a var maisAlta para fazer as comparações inicio maisAlta com 0;
     // no primeiro instante    
     //qualquer valor vai ser maior que esta variável mais
     //é isto mesmo que queremos, a partir dai nossa variável só vai ser
     // alterada quando a   
     //altura for maior que maisAlta ou seja temos nosso maior valor.

   if(vetor[i].getAltura() > maisAlta){  
    maisAlta = vetor[i].getAltura();    // sempre vai guardar a o valor  mais alto
     pessoaMaisAlta = vetor[i].getNome(); //  guarda a pessoa mais alta
     
    //uso a var maisPesada para fazer as comparações inicio maisPeso com 0;
    // no primeiro instante    
    //qualquer valor vai ser maior que esta variável mais
    //é isto mesmo que queremos, a partir dai nossa variável só vai ser
    // alterada quando o  
    //peso for maior que maisPesada ou seja temos nosso maior valor.

    if(vetor[i].getPeso() > maisPesada ){ 
     maisPesada = vetor[i].getPeso();    // uso a var maisPesada para receber o maior valor 
      pessoaMaisPesada = vetor[i].getNome();//  guarda a pessoa mais pesada
    }
    
   }
  }



6º faço a impressão dos valores

System.out.println("Pessoa mais alta: " + pessoaMaisAlta + "\n");
  System.out.println("Pessoa mais pesada: " + pessoaMaisPesada);
 }
}

-----------------------------------------------------------------------------------

Classe Main Completa:

  

package exerciciosExtras;

import javax.swing.JOptionPane;

public class PessoaTesta {
 public static void main(String[] args) {
  float maisAlta = 0;
  float maisPesada = 0;
  String pessoaMaisAlta = "";
  String pessoaMaisPesada = "";

  // Definição do vetor com os id´s dos objetos;
  int x = 2;
  Pessoa vetor[] = new Pessoa[x];

  // Popular o vetor com os objetos da classe Pessoa.
  for (int i = 0; i < vetor.length; i++) {
   vetor[i] = new Pessoa();
  }
  for (int i = 0; i < vetor.length; i++) {
   String nome = JOptionPane.showInputDialog("Digite nome: ");
   float altura = Float.parseFloat(JOptionPane.showInputDialog("Digite Altura: "));
   float peso = Float.parseFloat(JOptionPane.showInputDialog("Digite Peso: "));

   vetor[i].setNome(nome);
   vetor[i].setAltura(altura);
   vetor[i].setPeso(peso);

  }
  for (int i = 0; i < vetor.length; i++) {
   if(vetor[i].getAltura() > maisAlta){
    maisAlta = vetor[i].getAltura();
     pessoaMaisAlta = vetor[i].getNome();
     
    if(vetor[i].getPeso() > maisPesada ){
     maisPesada = vetor[i].getPeso();
      pessoaMaisPesada = vetor[i].getNome();
    }
    
   }
  }
  System.out.println("Pessoa mais alta: " + pessoaMaisAlta + "\n");
  System.out.println("Pessoa mais pesada: " + pessoaMaisPesada);
 }
}