Ajuda para construir programa em Java

7 respostas
A

Sou aprendiz de Java e preciso ajuda para codificar em JAVA (J2DK) este enunciado:
a) Defina uma classe pessoa com osatributos privados: nome, idade, sexo, peso e altura.
Além dos métodos públicos deacesso aos atributos, crie dois novos métodos:
cálculoDoIMC ? Para calcular o-índice de massa corporal da pessoa
avaliacaoDoIMC ? Retornar a-condição de acordo com a tabela acima.
b) Crie uma classe para testar oprograma que leia os dados de N pessoas, armazene em um vetor e ao final exibana tela o nome, o IMC e a avaliação de cada pessoa.

TABELA IMC
CONDIÇÃO IMC MULHERES IMC HOMENS
abaixo do peso <19,1 <20,7
no peso ideal 19,1-25,8 20,7-26,4
marginalmente acima do peso 25,8-27,3 26,4-27,8
acima do peso ideal 27,3-32,3 27,8-31,1
Obeso >32,3 >31,1

QUEM PUDER ME PASSAR A CODIFICAÇÃO AGRADEÇO
Obrigado Adilson Vargas

7 Respostas

S

Poste o que você já fez para podermos te ajudar.

JMARQ

Isso está parecendo atividade de universidade ou de algum curso, pois posta ai cara o que vocês para que possamos ajudar.

A

É Q TO FAZENDO QUEBRANDO CABEÇA
1 PARTE

public class Pessoa {

private String nome,sexo;
private int idade,peso,altura;   
               
public Pessoa() 
{   
     idade=0;
 peso=0;
 altura=0; 	   
     nome="";
 sexo="";   
}   
   
	public void setNome(String snome){   
		nome=snome;   
}   

	public void setSexo(String ssexo){   
		sexo=ssexo;  
}   

	public void setIdade(int iidade){
	 	idade=iidade;
}

	public void setPeso(int ipeso){
	 	peso=ipeso;
}

	public void setAltura(int ialtura){
	 	altura=ialtura;
}	

	public String getNome(){
	 	return nome;
}

	public String getSexo(){
	 	return sexo;
}

	public int getIdade(){
	 	return idade;
}

	public int getPeso(){
	 	return peso;
}

	public int getAltura(){
	 	return altura;
}

}

Master.Abs

Vou indicar o caminho das pedras o resto é com você e sua lógica.
Basta pensar um pouco para entender como terminar.
Boa sorte. Flw.

class Pessoa{
	private String nome;
	private int idade;
	private char sexo;
	private double peso, altura;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getIdade() {
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public char getSexo() {
		return sexo;
	}
	public void setSexo(char sexo) {
		this.sexo = sexo;
	}
	public double getPeso() {
		return peso;
	}
	public void setPeso(double peso) {
		this.peso = peso;
	}
	public double getAltura() {
		return altura;
	}
	public void setAltura(double altura) {
		this.altura = altura;
	}
}


public class ICM {
	public void calculoDoICM(Pessoa pessoa){
		double calculoICM = pessoa.getPeso() / (pessoa.getAltura() * pessoa.getAltura());
		avaliacaoICM(calculoICM, pessoa.getSexo());
	}
	
	public void avaliacaoICM(double calculoICM, char sexo){
		if(sexo == 'F')
			if(calculoICM < 19.1){
				//...Coloque as condições de acordo com o sexo F
		}else if(sexo == 'M'){
			if(calculoICM < 20.7){
				//...Coloque as condições de acordo com o sexo M
			}
		}
	}
	
	/*
	 * Criei um exemplo com apenas uma pessoa
	 * No seu caso você deverá criar um VETOR (ARRAY)
	 * de pessoas e calcular de todos.
	 * BOA SORTE.
	 */
	public static void main(String[] args) {
		Pessoa pessoa = new Pessoa();
		pessoa.setNome("");
		pessoa.setIdade(0);
		pessoa.setAltura(0);
		pessoa.setPeso(0);
		pessoa.setSexo('M');
		
		//Testando ICM DE UMA PESSOA
		new ICM().calculoDoICM(pessoa);
		
	}
}
A

Valew amigo!!
To nervoso, e aí trava, pq tenho que entregar uma Avaliação a distância hoje. Mas ja valew a força.
Abraço

A

FALTOU EXIBIR OS NOMES

public static void main(String args[]){
public int Cont = 1;

Pessoa p[]= new Pessoa[Cont];

for (int i= 0;i<Cont;i++){

p[i]= new Pessoa();

p[i].setNome(JOptionPane.showInpultDialog(Entre como o Nome));

p[i].setSexo(JOptionPane.showInpultDialog(Entre como o Sexo));

p[i].setIdade(Integer.parseInt(JOptionPane.showInpultDialog(Entre com a Idade)));

p[i].setPeso(Float.parseFloat(JOptionPane.showInpultDialog(Entre com o Peso)));

p[i].setAltura(Float.parseFloat(JOptionPane.showInpultDialog(Entre com a Altura)));

Cont= Cont + 1;

public double CalculoDoIMC[i](double p[i].getPeso(), double p[i].getAltura()){

return p[i].getPeso() / (Math.pow(p[i].getAltura(),2));

}
public string avaliacaoDoIMC[i](string p[i].getSexo(), double CalculoDoIMC){

if (p[i].getSexo() == f){

if (CalculoDoIMC < 19.1){

return Abaixo do peso ideal;

}

else if (CalculoDoIMC < 25.{

return No peso ideal;

}

else if (CalculoDoIMC < 27.3){

return Marginalmente acima do peso;

}

else if (CalculoDoIMC < 32.3){

return Acima do peso ideal;

}

else

return Obeso;
}

else if (p[i].getSexo() == m){

if (CalculoDoIMC < 20.7){

return Abaixo do peso ideal;

}

else if (CalculoDoIMC < 26.4){

return No peso ideal;

}

else if (CalculoDoIMC < 27.{

return Marginalmente acima do peso;

}

else if (CalculoDoIMC < 31.1){

return Acima do peso ideal;

}

else

return Obeso;

}

}
Master.Abs

Para exibir você pode usar ao invés do return no ‘avaliacaoDoIMC’ um System.out.println ou então como você quer mostrar na tela um JOptionPane.showMessageDialog(…).
Segue o exemplo que eu fiz abaixo se quiser se basear fique a vontade.

public class ICM {
	public void calculoDoICM(Pessoa pessoa){
		double calculoICM = pessoa.getPeso() / (pessoa.getAltura() * pessoa.getAltura()));
		avaliacaoICM(calculoICM, pessoa.getSexo());
	}
	
	private void avaliacaoICM(double calculoICM, char sexo){
		if(sexo == 'F'){
			if(calculoICM < 19.1){
				System.out.println("Abaixo do peso!");
			}else if(calculoICM >= 19.1 && calculoICM < 25.8){
				System.out.println("Peso ideal!");
			}else if(calculoICM >= 25.8 && calculoICM < 27.3){
				System.out.println("Um pouco acima do peso!");
			}else if(calculoICM >= 27.3 && calculoICM <= 32.3){
				System.out.println("Acima do peso!");
			}else{
				System.out.println("Obeso");
			}
			
		}else if(sexo == 'M'){
			if(calculoICM < 20.7){
				//...Coloque as condições de acordo com o sexo M
			}
		}
		System.out.println();
	}
	
	/*
	 * Criei um exemplo com apenas uma pessoa
	 * No seu caso você deverá criar um VETOR (ARRAY)
	 * de pessoas e calcular de todos.
	 * BOA SORTE.
	 */
	public static void main(String[] args) {
		Pessoa pessoa[] = new Pessoa[3];
		pessoa[0] = new Pessoa();
		pessoa[0].setNome("");
		pessoa[0].setIdade(27);
		pessoa[0].setAltura(1.75);
		pessoa[0].setPeso(83.5);
		pessoa[0].setSexo('F');
		
		pessoa[1] = new Pessoa();
		pessoa[1].setNome("");
		pessoa[1].setIdade(23);
		pessoa[1].setAltura(1.60);
		pessoa[1].setPeso(70.0);
		pessoa[1].setSexo('F');
		
		pessoa[2] = new Pessoa();
		pessoa[2].setNome("");
		pessoa[2].setIdade(18);
		pessoa[2].setAltura(1.65);
		pessoa[2].setPeso(58.0);
		pessoa[2].setSexo('F');
		
		//Testando ICM DE UMA PESSOA
		for(int i = 0; i < pessoa.length; i++){
			new ICM().calculoDoICM(pessoa[i]);
		}
	}
}
Criado 2 de abril de 2012
Ultima resposta 3 de abr. de 2012
Respostas 7
Participantes 4