Estrutura else else if switch problema no código

fiz este codigo mas não executa nada quando clico no botão.
[b]
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){
case 1 :
peso_ideal = peso_ideal + 2;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 2 :
peso_ideal=peso_ideal +3;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 3 :
peso_ideal=peso_ideal +5;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 4 :
peso_ideal = peso_ideal +8;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 5 :
peso_ideal = peso_ideal +8;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 6 :
peso_ideal = peso_ideal +8;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 7 :
peso_ideal = peso_ideal +8;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
default:
JOptionPane.showMessageDialog(null,“Valor inválido”);

}
}
else if ((jTextField1 ==null)&&(jTextField2 ==null) &&(malhaNao.isSelected())){
JOptionPane.showMessageDialog(null, “Valores inválidos”);
}
}[/b]

Coloque entre a Tag Code
malhaSim.isSelected() ?? isso é um radioBox??

Oi,

hummmm você adicionou uma ação para seu botão?

Só uma observação, a condição:

if ((jTextField1 !=null)&&(jTextField2 !=null)

deveria ser feita antes de utilizar o jTextField1 e 2:

altura = Float.parseFloat(jTextField1.getText()); peso = Float.parseFloat(jTextField2.getText());

Isso evitará NullPointerException.

Tchauzin!

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){
        case 1 :
            peso_ideal = peso_ideal + 2;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 2 :
            peso_ideal=peso_ideal +3;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 3 :
            peso_ideal=peso_ideal +5;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 4 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 5 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 6 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 7 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        default:
        JOptionPane.showMessageDialog(null,"Valor inválido");

}
    }
        else if ((jTextField1 ==null)&&(jTextField2 ==null) &&(malhaNao.isSelected())){
    JOptionPane.showMessageDialog(null, "Valores inválidos");
        }
    }
  

é uma malhaSim e malhaNao é radiobox

Mostra a ação do seu botão quenem a Lina falou

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
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){
        case 1 :
            peso_ideal = peso_ideal + 2;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 2 :
            peso_ideal=peso_ideal +3;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 3 :
            peso_ideal=peso_ideal +5;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 4 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 5 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 6 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 7 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        default:
        JOptionPane.showMessageDialog(null,"Valor inválido");

}
    }                                        
        else if ((jTextField1 ==null)&&(jTextField2 ==null) &&(malhaNao.isSelected())){
    JOptionPane.showMessageDialog(null, "Valores inválidos");
        }
    }
    /*
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new jfJanela().setVisible(true);
            }
        });
    }

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){
        case 1 :
            peso_ideal = peso_ideal + 2;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 2 :
            peso_ideal=peso_ideal +3;
            JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 3 :
            peso_ideal=peso_ideal +5;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 4 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        case 5 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 6 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
               break;
        case 7 :
            peso_ideal = peso_ideal +8;
               JOptionPane.showMessageDialog(null,"Seu peso ideal é"+peso_ideal+"");
            break;
        default:
        JOptionPane.showMessageDialog(null,"Valor inválido");

}
    }
        else if ((jTextField1 ==null)&&(jTextField2 ==null) &&(malhaNao.isSelected())){
    JOptionPane.showMessageDialog(null, "Valores inválidos");
        }
    }
}
}
catch (NumberFormatException ex) {
	System.out.println("Formato de número inválido");
}

Tchauzin!

OBrigado.
Vou testar:)

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 ó:

boolean isMalha = malhaSim.isSelected(); JOptionPane.showMessageDialog(null,"Malha : "+isMalha);

Verdade
note

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()))

No caso da Lina você vai fazer

if (jTextField1.getText().equals(null) && jTextField2.getText().equals(null) && jTextField1.getText().length() >0 && jTextField2.getText()length() >0) {   

[code]private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
if (jTextField1.getText().length()>0 && jTextField2.getText().length()>0){
altura = Float.parseFloat(jTextField1.getText());
peso = Float.parseFloat(jTextField2.getText());
peso_ideal = altura - 100;
} if (malhaSim.isSelected())
{nivel = Integer.parseInt(JOptionPane.showInputDialog(null,“Digite quantes vezes malha por semana”));
switch (nivel){
case 1 :
peso_ideal = peso_ideal + 2;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 2 :
peso_ideal = peso_ideal + 3;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 3:
peso_ideal = peso_ideal + 5;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 4:
peso_ideal = peso_ideal + 5;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 5:
peso_ideal = peso_ideal + 7;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 6:
peso_ideal = peso_ideal + 10;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
case 7:
peso_ideal = peso_ideal + 10;
JOptionPane.showMessageDialog(null,“Seu peso ideal é”+peso_ideal+"");
break;
default:
JOptionPane.showMessageDialog(null,“Valor inválido”);
}
}
else if (malhaNao.isSelected()){
peso_ideal = (altura -100) +1;
JOptionPane.showMessageDialog(null,“Seu peso ideal é:”+peso+"");
}}
catch (NumberFormatException ex) {
System.out.println(“Formato de número inválido”);}}

/*
* @param args the command line arguments
*/[/code]

Fiz assim, mas to tendo problemas para obter o valor de peso_ideal. Não ta calculando peso_Ideal= altura -100;

Na verdade, não ta pegando o valor de altura e peso.
se eu coloco altura = 0 e nivel = 1
ele me da o resultado peso_ideal = -98

ta certo cara…

ta 0 - 100 = -100

qdo cai no seu case 1: ele soma 2

-100 + 2 = -98

Cuidado que esse jTextField1.getText().equals(null) não existe, se uma String for nula compara-se com ==

então para certificar-se que uma String possui algum texto sem que ocorra nullpointer é necessário fazer:

if(!"".equals(str)){ //Se a str é diferente de "" (vazia) //codigo }

e para validar apenas se a String está nula (objeto null):

if( str == null){ //codigo }

Oi,

Ninguem aqui ouviu falar do método isEmpty() ?

if (str.isEmpty()) { System.out.println("É vazia"); } else { System.out.println("Não é vazia"); }

Tchauzin!