Consegui aprimorar o antigo programa e colocar em modo gráfico, otimizando e melhorando o nível técnico do código.
[code]
/* Calculo IMC 1.23
@author Raphael Santana Carvalho
*/
import javax.swing.JOptionPane; // classe JOptionPane
public class CalculoIMC_Grafico
{
public static void main(String args[])
{
String software_name = (“Cálculo de IMC [1.23]”);
String message = (“Bem vindo ao programa para Cálculo de IMC! \n [Versão 1.23] \n\n Criado por Raphael Santana Carvalho.”);
JOptionPane.showMessageDialog(null, message, software_name, JOptionPane.INFORMATION_MESSAGE);
String msg_catch = ("O programa foi encerrado.");
int sexo = 0;
double peso = 0;
double altura = 0;
try {
while (sexo != 2 && sexo != 1) {
sexo = Integer.parseInt(JOptionPane.showInputDialog(null, "Qual é o seu sexo: masculino ou feminino? \n Para masculino digite [1]. \n Para feminino digite [2].", software_name, JOptionPane.INFORMATION_MESSAGE));
switch(sexo) {
case 1: JOptionPane.showMessageDialog(null, "- O seu sexo é: Masculino.");
break;
case 2: JOptionPane.showMessageDialog(null, "- O seu sexo é: Feminino.");
break;
default: JOptionPane.showMessageDialog(null, "Favor digite apenas os números 1 ou 2.");
}
}
}
catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, msg_catch, software_name, JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
//peso
try {
String valor_peso = (JOptionPane.showInputDialog(null, "Qual é o seu peso [Exemplo: 60.5]?", software_name, JOptionPane.INFORMATION_MESSAGE));
valor_peso = valor_peso.replace(',','.');
peso = Double.parseDouble(valor_peso);
JOptionPane.showMessageDialog(null, "- O seu peso é: " + peso + " kilogramas!");
}
catch (NullPointerException ex) {
JOptionPane.showMessageDialog(null, msg_catch, software_name, JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
//altura
try {
String valor_altura = (JOptionPane.showInputDialog(null, "Qual é a sua altura [Exemplo: 1.70]?", software_name, JOptionPane.INFORMATION_MESSAGE));
valor_altura = valor_altura.replace(',','.');
altura = Double.parseDouble(valor_altura);
JOptionPane.showMessageDialog(null, "- A sua altura é: " + altura + " metros!");
}
catch (NullPointerException ex) {
JOptionPane.showMessageDialog(null, msg_catch, software_name, JOptionPane.ERROR_MESSAGE);
System.exit(0) ;
}
//calculo_IMC
double calcular_IMC = peso / ((altura)*(altura));
//vetores
double imc[] = new double[2];
if (sexo == 1) {
JOptionPane.showMessageDialog(null, "Resultado IMC (Masculino):", software_name, JOptionPane.INFORMATION_MESSAGE);
imc[0] = 20.7; imc[1] = 26.4;
}
else if (sexo == 2) {
JOptionPane.showMessageDialog(null, "Resultado IMC (Feminino):", software_name, JOptionPane.INFORMATION_MESSAGE);
imc[0] = 19.1; imc[1] = 25.8;
}
String resultado = ("Abaixo do peso: Menor que " + imc[0] + ".\nPeso ideal: Maior que " + imc[0] + " e menor que " + imc[1] + ".\nAcima do peso: Maior que " + imc[1] + ". ");
if (calcular_IMC < imc[0]) {
JOptionPane.showMessageDialog(null, "- O seu IMC é: " + calcular_IMC + "\n Você está abaixo do peso!\n\n" + resultado, software_name, JOptionPane.INFORMATION_MESSAGE);
}
if ((calcular_IMC >= imc[0]) && (calcular_IMC < imc[1])) {
JOptionPane.showMessageDialog(null, "- O seu IMC é: " + calcular_IMC + "\n Você está no peso ideal!\n\n" + resultado, software_name, JOptionPane.INFORMATION_MESSAGE);
}
if (calcular_IMC >= imc[1]) {
JOptionPane.showMessageDialog(null, "- O seu IMC é: " + calcular_IMC + "\n Você está acima do peso!\n\n" + resultado, software_name, JOptionPane.INFORMATION_MESSAGE);
}
JOptionPane.showMessageDialog(null, msg_catch, software_name, JOptionPane.INFORMATION_MESSAGE);
}
} // fim da classe CalculoIMC_Grafico[/code]