Olá, eu sou novato no fórum e na programação também. Se eu cometi erros grotescos foi por pura inexperiência mesmo.
Eu fiz este código com a intenção de que ele aceitasse valores fracionados. Porém, ele não aceita valores fracionados. Eu não entendi o erro, pois eu determinei a variável que recebe o valor como ‘double’. Logo, esta é a minha dúvida. Se quiser passar dicas de formatação da mensagem para o usuário, do código ou outras formas de desenvolve-lo eu aceitarei numa boa.
Abraço.
package Aula04;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class IMC {
/**
* @author Ângelo de Sant'Ana S. Dias
*/
public static void main(String[] args) {
double alt,peso,IMC;
JOptionPane.showMessageDialog(null,"Programa para determinar IMC e faixa do IMC.");
Scanner in = new Scanner (System.in);
System.out.println ("Digite um valor para o peso:");
peso = in.nextDouble ();
System.out.println ("Digite um valor para a altura:");
alt = in.nextDouble ();
if ((alt>0) && (peso>0)) {
IMC = peso / (Math.pow(alt,2));
if (IMC >30 )
System.out.println ("Este e o seu IMC: "+IMC+". Voce esta obeso.");
else if (IMC>25)
System.out.println ("Este e o seu IMC: "+IMC+". Voce esta acima do peso.");
else if (IMC>18.5)
System.out.println ("Este e o seu peso: "+IMC+". Voce esta no peso normal.");
else
System.out.println ("Este e o seu peso: "+IMC+". Voce esta abaixo do peso.");
}else {
System.out.println ("Voce digitou pelo menos 1 (um) valor negativo ou igual a zero, esta fórmula não os permite. Fim de Programa. Fuuuu");
}
}
}