Estou criando um programa básico para medir o IMC, e estou testando uma nova tela com mais informações.
###O código:
package at;
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
public class At {
public static void main(String[] args) {
String nome = JOptionPane.showInputDialog(null,"Qual seu nome?", "Medidor de IMC", JOptionPane.INFORMATION_MESSAGE);
String id = JOptionPane.showInputDialog(null,"Qual sua idade?", "Medidor de IMC", JOptionPane.INFORMATION_MESSAGE);
String ps = JOptionPane.showInputDialog(null,"Qual seu peso? kg*", "Medidor de IMC", JOptionPane.INFORMATION_MESSAGE);
String alt = JOptionPane.showInputDialog(null,"Qual sua altura? m*", "Medidor de IMC", JOptionPane.INFORMATION_MESSAGE);
String sex = JOptionPane.showInputDialog(null,"Qual seu sexo? m ou f*", "Medidor de IMC", JOptionPane.INFORMATION_MESSAGE);
float peso = Float.parseFloat(ps);
int idade = Integer.parseInt(id);
float altura= Float.parseFloat(alt);
char sexo = sex.charAt(0);
float imc = peso/(altura*altura);
String abaixo = " Anorexia, bulimia, osteoporose, auto-consumo de massa muscular, transtornos digestivos, debilidade,\n fadiga crônica, stress e ansiedade são consequências para o seu peso. \n Aumente o seu peso e IMC.";
String ideal = " Estado normal, bom nível de energia, vitalidade e boa condição física são vantagens para o seu peso. \n Mantenha seu peso e IMC.";
String sobrepeso = " Fadiga, problemas digestivos, problemas circulatórios, má circulação nas pernas e varizes são consequências do seu peso. \n Faça uma consulta com um profissional nutricionista.";
String obesidade = " Diabetes, angina de peito, enfartes, trombo flebites, falta de ar, sonolência, trombose pulmonar,\n úlceras varicosas e câncer de cólon são consequências do seu peso. \n Faça uma consulta com um profissional nutricionista.";
if (sexo == 'm' || sexo == 'M'){
if (imc > 0 && imc < 20){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", você está abaixo do peso."
, "Resultado", JOptionPane.INFORMATION_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Masculino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, abaixo);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 20 && imc < 24.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", você está com peso ideal."
, "Resultado", JOptionPane.PLAIN_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Masculino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, ideal);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 24.9 && imc <29.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", você está em sobrepeso."
, "Resultado", JOptionPane.WARNING_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Masculino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, sobrepeso);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 29.9 && imc <=100){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", você está em obesidade."
, "Resultado", JOptionPane.ERROR_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Masculino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, obesidade);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (nome == null){
JOptionPane.showMessageDialog(null,"Você não preencheu seus dados corretamente. \nTente novamente em 2 segundos."
, "Erro externo", JOptionPane.ERROR_MESSAGE);
System.exit(2);
}
}
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."
, "Resultado", JOptionPane.INFORMATION_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Feminino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, abaixo);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 19 && imc < 23.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está com peso ideal."
, "Resultado", JOptionPane.PLAIN_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Feminino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, ideal);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 23.9 && imc <28.9){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em sobrepeso."
, "Resultado", JOptionPane.WARNING_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Feminino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, sobrepeso);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc >= 28.9 && imc <= 100){
DecimalFormat df = new DecimalFormat("#0.00");
JOptionPane.showMessageDialog(null,"Olá "+nome+", seu IMC é "+df.format(imc)+". Você está em obesidade."
, "Resultado", JOptionPane.ERROR_MESSAGE);
String[] options = {"Ok","Mais informações"};
int resposta = JOptionPane.showOptionDialog(null,
"Peso: "+peso+ " kilos"+"\nIdade: "+idade+" anos"+"\nAltura: "+altura+" metros"+"\nSexo: Feminino "+"\nIMC: "+df.format(imc), "Dados detalhados",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
if (resposta == 1) {
JOptionPane.showMessageDialog(null, obesidade);
System.exit(0);
}
if(resposta == 0){
System.exit(0);
}
}
if (imc < 1) {
JOptionPane.showMessageDialog(null,"Você não preencheu seus dados corretamente. \nTente novamente."
, "Erro externo", JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}
}
}
Essa é a tela com informações detalhadas:
Eu gostaria de mudar o tipo do JOptionPane, ele imprime com essa interrogação, se possível queria deixa-lo do tipo PLAIN.
