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
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;
}
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);
}
}
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”;
}
}
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]);
}
}
}