Estou escrevendo um código básico, para fazer cálculo de IMC, segue:
public static void main(String[] args) {
String nome = JOptionPane.showInputDialog("Qual seu nome?");
String id = JOptionPane.showInputDialog("Qual sua idade?");
String ps = JOptionPane.showInputDialog("Qual seu peso? kg*");
String alt = JOptionPane.showInputDialog("Qual sua altura? m*");
String sex = JOptionPane.showInputDialog("Qual seu sexo? m ou f*");
float peso = Float.parseFloat(ps);
float idade = Float.parseFloat(id);
float altura= Float.parseFloat(alt);
char sexo = sex.charAt(0);
float imc = peso/(altura*altura);
if (sexo == 'm' || sexo == 'M'){
if (imc > 0 && imc < 20){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está abaixo do peso.");
System.exit(0);
}
if (imc < 24.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está com peso ideal.");
System.exit(0);
}
if (imc <29.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em sobrepeso.");
System.exit(0);
}
if (imc >= 29.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em obesidade.");
System.exit(0);
}
if (nome == null){
JOptionPane.showMessageDialog(null,"Você não preencheu seus dados corretamente.");
}
}
if (sexo == 'f' || sexo == 'F'){
if (imc > 0 && imc < 19){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está abaixo do peso.");
System.exit(0);
}
if (imc < 23.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está com peso ideal.");
System.exit(0);
}
if (imc <28.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em sobrepeso.");
System.exit(0);
}
if (imc >= 28.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em obesidade.");
System.exit(0);
}
}
}
}
Gostaria de imprimir junto com o resultado, uma barrinha abaixo, com a cor verde caso o IMC estivesse bom, amarelo no caso de sobrepeso e vermelho no caso de obesidade.
Segue um exemplo: