Sem titulo

4 respostas
dinorah

Não consigo encontrar o erro no if, alguem pode me ajudar.
O problema é, entrar com altura e sexo de 1 pessoa e dizer o peso ideal para homem e mulher.

String sexo;
double peso,h;

sexo=JOptionPane.showInputDialog ("QUAL ANO DO SEU NASCIMENTO?");
	h=Double.parseDouble(JOptionPane.showInputDialog("QUAL SUA ALTURA? "));

	if (sexo == FEMININO)
	{
		peso=(62.1*h)-44.7;
	 	JOptionPane.showMessageDialog(null,"SEU PESO IDEAL É:  "+ peso);
	}
	if (sexo == MASCULINO)  
	{
		peso=(72.7*h)-58;
	 	JOptionPane.showMessageDialog(null,"SEU PESO IDEAL É:  "+ peso);
	}

4 Respostas

L

Faça da seguinte forma:

String sexo   = "";
      double peso   =  0;
      double altura =  0;
      
      sexo = JOptionPane.showInputDialog ( "QUAL É SEU SEXO?" );
      altura    = Double.parseDouble( JOptionPane.showInputDialog( "QUAL SUA ALTURA?" ) );
      
      if ( sexo.equalsIgnoreCase( "FEMININO" ) ) {
         peso = ( 62.1 * altura ) - 44.7;
      }
      else if ( sexo.equalsIgnoreCase( "MASCULINO" ) ) {
         peso = ( 72.7 * altura ) - 58;
      }
      JOptionPane.showMessageDialog( null, "SEU PESO IDEAL É: " + peso );

Estava errado na comparação de Strings nos if’s . Quando se compara String usa o método equals() e não ==.
No seu caso utiliza equalsIgnoreCase() pois assim ele desconsidera se o conteúdo comparado é maiúsculo ou minúsculo.

Espero ter ajudado.

dinorah

:smiley: MUITO OBRIGADA!

Meu professor não tenha passado (equalsIgnoreCase() )

fiaux

dinorah:
:smiley: MUITO OBRIGADA!

Meu professor não tenha passado (equalsIgnoreCase() )


Passe a ler as APIs, não dependa de seu professor.

Luiz_Aguiar

Leia esses topicos por favor!
http://www.guj.com.br/posts/list/15777.java
http://www.guj.com.br/posts/list/50115.java

Coloque sem um tirulo que tenha a ver com a sua duvida!
Obrigado!

Criado 19 de setembro de 2008
Ultima resposta 19 de set. de 2008
Respostas 4
Participantes 4