1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro no meu programa de IMC

Estou resolvendo um exercício que pede para eu criar a classe Pessoa com os atributos peso e altura e dentro dela criar o método com o Cálculo do IMC e a situação de acordo com o resultado do IMC. Na classe main chamada Programa deve ser exibida os resultados e assim ficou o programa.

//CLASSE PESSOA

public class Pessoa {

public float peso,altura; //atributos da classe

//criação do objeto pessoa public Pessoa (float peso,float altura) { this.peso=peso; //atributo do objeto this.altura=altura; //atributo do objeto }

//MÉTODO GET(acesso ao valor do atributo) public float getPeso (){ return this.peso; } public float getAltura(){ return this.altura; } //MÉTODO SET(altera o valor do atributo) public void setPeso (float peso){ this.peso=peso; } public void setAltura (float altura){ this.altura=altura; } //CRIANDO O MÉTODO PARA CALCULAR O IMC public float CalculoIMC(float peso,float altura){ float IMC = (peso/(altura*altura)); return IMC; } //CRIANDO MÉTODO PARA CALCULAR SITUAÇÃO DA PESSOA public float SitPessoa(float peso){ float resultIMC=this.CalculoIMC(peso, peso); if (resultIMC<17) return 1; else if (resultIMC<18.49) return 2; else if (resultIMC<24.99) return 3; else if (resultIMC<29.99) return 4; else return 5; }

}

//CLASSE PROGRAMA

public class Programa {

public static void main(String[] args) { float altura=0; float peso=0;

Pessoa alguem= new Pessoa (56f,1.64f); float IMC=alguem.CalculoIMC(peso,altura); System.out.println("O IMC é:" + IMC);

float sit=alguem.SitPessoa(IMC);

if (sit==1) System.out.println (" Muito abaixo do peso"); if (sit == 2) System.out.println ("Abaixo do peso"); if (sit == 3) System.out.println ("Peso normal"); if (sit == 4) System.out.println ("Acima do peso"); if (sit == 5) System.out.println ("Obeso");

}

}

O programa em sí não detecta nenhum erro, porém na hora da execução aparece assim : O IMC é:NaN Obeso

Bom,fica óbvio que é algum erro estúpido,porém eu não consegui achar. Se alguém puder me ajudar...

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags vba ou faça a sua própria pergunta.