Duvida em codigo com String e char (concluído)

7 respostas
J
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!

Agradeço

7 Respostas

J
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);  
        }  
    }
J

o final é JOpitonPane.showMessageDialog só errei aqui

JhowTroMundo

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.

J

então a duvida é que na caixa de dialogo que vai aparecer, eu coloque “Masculino”

dougfane
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:
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);  
        }    
}
J

beleza deu certinho agora! só me explico uma coisinha, o que significa aquele depois +peso, nome, JOptionPane.INFORMATION_MESSAGE);

mas do resto deu certinho.

Agradeço muito cara!

dougfane

JOptionPane.showMessageDialog(null,"Seu peso ideal é: "+peso, sexo, JOptionPane.INFORMATION_MESSAGE); /* null -- parentComponent "Seu pero ideal é:"+peso -- Mensagem sexo -- Título JOptionPane.INFORMATION_MESSAGE -- tipo de dialog */

Consulte: http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JOptionPane.html

Criado 10 de junho de 2011
Ultima resposta 11 de jun. de 2011
Respostas 7
Participantes 3