privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){altura=Float.parseFloat(jTextField1.getText());peso=Float.parseFloat(jTextField2.getText());peso_ideal=altura-100;if((jTextField1!=null)&&(jTextField2!=null)&&(malhaSim.isSelected())){nivel=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite quantas vezes você malha por semana"));switch(nivel){case1:peso_ideal=peso_ideal+2;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case2:peso_ideal=peso_ideal+3;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case3:peso_ideal=peso_ideal+5;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case4:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case5:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case6:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case7:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;default:JOptionPane.showMessageDialog(null,"Valor inválido");}}elseif((jTextField1==null)&&(jTextField2==null)&&(malhaNao.isSelected())){JOptionPane.showMessageDialog(null,"Valores inválidos");}}/* * @param args the command line arguments */publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newjfJanela().setVisible(true);}});}
lina
Oi,
Primeiro a sua codificação deveria estar entre Try/Catch(NumberFormatException).
Provavelmente entra na ação do botão e sai por exceção. E a condição do != null deve ser antes como falei anteriormente:
try{if(jTextField1!=null&&jTextField2!=null){altura=Float.parseFloat(jTextField1.getText());peso=Float.parseFloat(jTextField2.getText());peso_ideal=altura-100;if(malhaSim.isSelected()){nivel=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite quantas vezes você malha por semana"));switch(nivel){case1:peso_ideal=peso_ideal+2;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case2:peso_ideal=peso_ideal+3;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case3:peso_ideal=peso_ideal+5;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case4:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case5:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case6:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;case7:peso_ideal=peso_ideal+8;JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");break;default:JOptionPane.showMessageDialog(null,"Valor inválido");}}elseif((jTextField1==null)&&(jTextField2==null)&&(malhaNao.isSelected())){JOptionPane.showMessageDialog(null,"Valores inválidos");}}}}catch(NumberFormatExceptionex){System.out.println("Formato de número inválido");}
Tchauzin!
lucasmartins
OBrigado.
Vou testar:)
Poneis123
Possivelmente o problema está nos seus IFs… quando vc diz (jTextField1 !=null) vc quer realmente saber se o objeto é diferente de nulo? ou vc quer saber se o usuário digitou algum valor?
Testa se esse seu malhaSim.isSelected() está funcionando assim ó:
altura = Float.parseFloat(jTextField1.getText()); <--- voce está definindo o Altura como o jTextField
peso = Float.parseFloat(jTextField2.getText());
peso_ideal = altura - 100;
if ((/*jTextField1*/altura>=0)&&(/*jTextField2*/peso >=0) &&(malhaSim.isSelected()))