JOptionPane, me tirem uma dúvida!

7 respostas
romim

Boa tarde,

Gostaria de saber se alguém pode me explicar como eu faço para as menssagens da condicional if, aparecerem na caixa de diálogo, pois só mostra o resultado do cálculo!

/**

  • Calcular IMC;
  • IMC = pesoEmQuilograma / (alturaEmMetros * alturaEmMetros)
    */
    import javax.swing.JOptionPane;

public class IMC {
public static void main(String[] args) {

String peso = JOptionPane.showInputDialog("Qual e seu peso em Quilogramas?");
        String altura = JOptionPane.showInputDialog("Informe sua Altura em Metros");
  

        double pesoEmQuilograma = Double.parseDouble(peso);
        double alturaEmMetros = Double.parseDouble(altura);
        double imc = pesoEmQuilograma / (alturaEmMetros * alturaEmMetros);

        if (imc < 20) {
              System.out.println("Abaixo do peso.");
        } else if (imc >= 20 && imc <= 25) {
              System.out.println("Peso Ideal!");
        } else if (imc >= 25 && imc <= 30) {
              System.out.println("Sobrepeso.");
        } else if (imc >= 30 && imc <= 35) {
              System.out.println("Obesidade Moderada.");
        } else if (imc >= 35 && imc <= 40) {
              System.out.println("Obesidade Severa.");
        } else if (imc >= 40 && imc <= 50) {
              System.out.println("Obesidade Mórbida.");
        } else {
              System.out.println("Super-Obsidade!!");
        }

        JOptionPane.showMessageDialog(null, "IMC = " + imc);
   }

}

Aguardo um retorno, e valeu!

7 Respostas

nel

Antes de mais nada, poste seu código usando as tags code, caso contrário, fica bem complicado.
Uma sugestão, é salvar a mensagem desejada em uma String e depois simplesmente mandar imprimir a mesma.

G

acho que se usar

JOptionPane.showMessageDialog(null,String.valueOf(imc));

deve funcionar

romim

nel:
Antes de mais nada, poste seu código usando as tags code, caso contrário, fica bem complicado.
Uma sugestão, é salvar a mensagem desejada em uma String e depois simplesmente mandar imprimir a mesma.

Blz, amigo, das próximas vezes farei isso.

Quanto a sua sugestão, seria para cada possibilidade eu guardar uma instrução em String, é isso? e eu posso colocar dentro da condicional if or else?

Ex.:

if (imc < 20) {

String msg = Abaixo do peso;

System.out.println(msg);

}
romim

GabrielMantini:
acho que se usar

JOptionPane.showMessageDialog(null,String.valueOf(imc));

deve funcionar

Gabriel, não deu certo dessa forma!
Ou eu não estou sabendo usar…

D

É como nosso amigo nel sugeriu, mas ao invés do System.ou.println(); faça:

JOptionPane.showMessageDialog(null,msg+" "+imc);
G
romim:
GabrielMantini:
acho que se usar
JOptionPane.showMessageDialog(null,String.valueOf(imc));
deve funcionar

Gabriel, não deu certo dessa forma!
Ou eu não estou sabendo usar...

Desculpa, entendi errado oq vc queria, esse que eu disse imprime o valor do imc,
realmente vc vai ter que guardar a mensagem em uma string e de acordo com o valor calculado do imc imprimir a mensagem corrspondente.

Seria isso??
import javax.swing.JOptionPane;

public class IMC {
	public static void main(String[] args) {

		String mensagem;
		String peso = JOptionPane
				.showInputDialog("Qual e seu peso em Quilogramas?");
		String altura = JOptionPane
				.showInputDialog("Informe sua Altura em Metros");

		double pesoEmQuilograma = Double.parseDouble(peso);
		double alturaEmMetros = Double.parseDouble(altura);
		double imc = pesoEmQuilograma / (alturaEmMetros * alturaEmMetros);

		if (imc < 20) {
			mensagem="Abaixo do peso.";
		} else if (imc >= 20 && imc <= 25) {
			mensagem="Peso Ideal!";
		} else if (imc >= 25 && imc <= 30) {
			mensagem="Sobrepeso.";
		} else if (imc >= 30 && imc <= 35) {
			mensagem="Obesidade Moderada.";
		} else if (imc >= 35 && imc <= 40) {
			mensagem="Obesidade Severa.";
		} else if (imc >= 40 && imc <= 50) {
			mensagem="Obesidade Mórbida.";
		} else {
			mensagem="Super-Obsidade!!";
		}

		JOptionPane.showMessageDialog(null,"Seu IMC é = "+Math.round(imc)+"\n"+mensagem);
	}
}
romim

É dessa forma que quero mesmo!

Criado 7 de maio de 2012
Ultima resposta 7 de mai. de 2012
Respostas 7
Participantes 4