JOptionPane com double

4 respostas
M

Olá, gostária de saber qual comando devo usar para o JOptionPane capturar uma variável do tipo double ou float
por exemplo:

package teste;  
  import javax.swing.JOptionPane;   
  
public class teste02 {  
    public static void main (String[] args) {  
        int altura, peso, imc;  
          
        altura = Integer.parseInt(JOptionPane.showInputDialog("Informe sua altura ( Em centímetros)"));  
        peso = Integer.parseInt(JOptionPane.showInputDialog("Informe seu peso (Em quilos)"));  
        altura = altura/100;  
        imc = peso / (altura*altura);  
        JOptionPane.showMessageDialog(null,"Seu IMC é "+imc);  
          
          
    }  
  
}

ao invés de utlizar int e o usuário ter que digitar a altura em centímetros, permitir a entrada de um valor de ponto flutuante.

Aproveitando o tópico, gostaria de saber o que devo fazer para meu .jar funcionar, estou usando o eclipse, quando exporto, ele até cria um arquivo .jar mas quando eu tento executá-lo, aparece a seguinte mensagem:
"Failed to load the Main-Class manifest attribute from <caminho do .jar>"
Faz apenas alguns dias que comecei estudar Java, então se tiver como explicar de maneira bem simples eu agradeceria muito.
Desde já obrigado pela atenção, abraços.

4 Respostas

M

Como o exemplo é bem básico, acredito que a precisão do tipo primitivo float seja suficiente.

float altura, peso, imc;

altura = float.parseFloat(JOp...

altura = altura / 100f; //A letra F é necessária para declarar o 100 como float
nota 1:

Com double é bem semelhante;

nota 2:

Se quiser máxima precisão deverá usar BigDecimal, muito usado para trabalhar com valores em dinheiro por exemplo;
M

Muito obrigado.
A ainda aproveitando o tópic, alguém sabe como mudar o noma da barra de títulos do programa ( que fica por padrão Input) ?

M
public static Object showInputDialog(Component parentComponent,
                                     Object message,
                                     String title,
                                     int messageType,
                                     Icon icon,
                                     Object[] selectionValues,
                                     Object initialSelectionValue)
                              throws HeadlessException

No teu caso ficaria assim:

altura = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe sua altura ( Em centímetros)", "Título de janela aqui",JOptionPane.QUESTION_MESSAGE));
M

Perfeito!
Obrigado

Criado 22 de maio de 2008
Ultima resposta 22 de mai. de 2008
Respostas 4
Participantes 2