Então galera é o seguinte, eu to meio enrrolado em uma parte aqui, na parte que eu coloco o sexo da pessoa no if ou na parte que eu pego o sexo da pessoa no Input
da uma analisada e me ajuda a resolver esse problema
view plaincopy to clipboardprint?
String sexo;
double altura, peso;
sexo = JOptionPane.showInputDialog("Qual o seu sexo?");
altura = Integer.parseInt(JOptionPane.showInputDialog("Qual a sua altura?"));
if(sexo == "Masculino")
{
peso = (72.7 * altura) - 58;
JOptionPane.showInputDialog("Seu peso ideal é: "+peso);
}
else
{
peso = (62.1 * altura) - 44.7;
JOptionPane.showInputDialog("Seu peso ideal é: "+peso);
}
}
e eu tentei como char e também não deu certo, essa é uma pequena duvida minha!
Você não especificou bem qual é o problema.
Forneça mais detalhes sobre a sua duvida.
Perceba que String não se compara usando “==”, e sim o método .equals.
Perceba também que voce está armazenando um Integer num double primitivo, o que desconsidera as casas decimais.
Pra o seu código funcionar, você tem que garantir que a entrada do usuário vai ser um sexo válido, e uma altura válida. Do jeito que está, se eu colocar sexo = Abobrinha, ele vai executar o else e vai lançar uma ParseException caso eu coloque algo que nao seja um numero na altura.
Antes um detalhe: sua variável altura é double, portanto utilize Double.ParseDouble().
Se eu entendi sua dúvida, você quer que apareça o sexo no título do ShowMessage? É isso? Se for, faça:
[code]String sexo;
double altura, peso;
sexo = JOptionPane.showInputDialog("Qual o seu sexo?");
altura = Double.ParseDouble(JOptionPane.showInputDialog("Qual a sua altura?"));
if(sexo.equals("Masculino"))
{
peso = (72.7 * altura) - 58;
JOptionPane.showMessageDialog(null,"Seu peso ideal é: "+peso, sexo, JOptionPane.INFORMATION_MESSAGE);
}
else
{
peso = (62.1 * altura) - 44.7;
JOptionPane.showMessageDialog(null,"Seu peso ideal é: "+peso, sexo, JOptionPane.INFORMATION_MESSAGE);
}