Problema com if else!

18 respostas
M

kkkk entendi qual foi meu erro, o código que postei embaixo e ele certo na ordem correta !

package javaapplication9;

import javax.swing.JOptionPane; 
public class exer5 {
    public static void main (String[]args){
    int idade;
    
    idade = Integer.parseInt(JOptionPane.showInputDialog("coloque sua idade"));
    
    if (idade <= 5 && idade < 7){
        JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " ); 
    }
    else if (idade >= 8 && idade < 11 ){
         JOptionPane.showMessageDialog(null,"você esta na categoria infantil B " ); 
    }
     else if (idade >= 12 && idade <= 13){
JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " );
    }
    else if (idade >= 14 && idade <= 17){
       JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil b " ); 
}
   else if (idade >= 18){
   JOptionPane.showMessageDialog(null,"você esta na categoria adulto " );
    }

    
    
    
    
    }
           }

18 Respostas

mauricioadl
if(idade &gt;=5 && &lt; 8)
JOptionPane.showMessageDialog(null,&quot;você esta na categoria infantil A &quot; );

// aqui vc faz o resto
S

Mas que erro está dando? Erro na hora de executar? Erro na sua lógica?
Poste o erro, que fica melhor. Blza?

S
marks!:
eu estava tentando fazer com que o programa ao receber a idade especifica idade ele passa-se a categoria de natação do usuário mais deu erro no loop e eu não to conseguindo consertar se alguém poder ajudar ficaria grato!
package javaapplication9;

import javax.swing.JOptionPane; 
public class exer5 {
    public static void main (String[]args){
    int idade;
    
    idade = Integer.parseInt(JOptionPane.showInputDialog("coloque sua idade"));
    
    if (idade >= 18){
        JOptionPane.showMessageDialog(null,"você esta na categoria adulto " ); 
    }
    else if (idade <= 5){
         JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " ); 
    }
    else if (idade >= 8){
JOptionPane.showMessageDialog(null,"você esta na categoria infantil b " );
    }
    else if (idade >= 12){
        JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " ); 
    }
    else if (idade >= 14){
        JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil B " );
    }
    }
    
}

E se o usuario digitar 6 ou 7 ?

M

na verdade o erro e na logica mesmo !
eu não estava colocando && para limitar a idade então o programa se confunde entra as opção que eu forneci a ele !

M

mais já entendi ! vlw galera muito obrigado pela ajuda!

M

ainda ta dando erro !

R

Você que explicar o que realemente quer fazer para agente enteder a lógica do seu código.
E o que é exatamente o erro!

G
mauricioadl:
if(idade &lt;=5 && &lt; 8)
JOptionPane.showMessageDialog(null,&quot;você esta na categoria infantil A &quot; );

// aqui vc faz o resto

como assim?

<= 5 and < 8

qdo seria <= 5 e não seria < 8?

tente assim:

if (idade &gt;= 18){  
        JOptionPane.showMessageDialog(null,&quot;você esta na categoria adulto &quot; );   
    }  
    else if (idade &gt;= 14){  
        JOptionPane.showMessageDialog(null,&quot;você esta na categoria Juvenil B &quot; );  
    }  
    else if (idade &gt;= 12){  
        JOptionPane.showMessageDialog(null,&quot;você esta na categoria Juvenil A &quot; );   
    }  
    else if (idade &gt;= 8){  
         JOptionPane.showMessageDialog(null,&quot;você esta na categoria infantil b &quot; );  
    }  
    else if (idade &lt;= 5){  
         JOptionPane.showMessageDialog(null,&quot;você esta na categoria infantil A &quot; );   
    } else {
         JOptionPane.showMessageDialog(null,&quot;você esta na categoria 6 e ou 7 anos, nem infantil b nem infantil a&quot; );   
    }
    }

pq vc não pode testar se é >= 8 e caso não seja, vc testar se é >= 12.

imagine:

vc pergunta: é maior q 7? resposta: não.
ai vc pergunta: é maior q 12? reposta: se não é maior 7 como vai ser maior q 12? ajuda aí!!!

S

marks!:
na verdade o erro e na logica mesmo !
eu não estava colocando && para limitar a idade então o programa se confunde entra as opção que eu forneci a ele !

Olha, único erro que eu tô vendo é que se o usuário digitar 6 ou 7 ele não se enquadrará em nenhuma categoria.

G

Soruji:
marks!:
na verdade o erro e na logica mesmo !
eu não estava colocando && para limitar a idade então o programa se confunde entra as opção que eu forneci a ele !

Olha, único erro que eu tô vendo é que se o usuário digitar 6 ou 7 ele não se enquadrará em nenhuma categoria.

e se ele digitar 13?
vai enquadrar em qual categoria?

S

GilsonNunes:
Soruji:
marks!:
na verdade o erro e na logica mesmo !
eu não estava colocando && para limitar a idade então o programa se confunde entra as opção que eu forneci a ele !

Olha, único erro que eu tô vendo é que se o usuário digitar 6 ou 7 ele não se enquadrará em nenhuma categoria.

e se ele digitar 13?
vai enquadrar em qual categoria?

Juvenil A.

Será que o código tá funcionando agora??? Eis o mistério. :shock:

Diego_Adriano
import javax.swing.JOptionPane;   
public class exer5 {  
    public static void main (String[]args){  
    int idade;  
      
    idade = Integer.parseInt(JOptionPane.showInputDialog("coloque sua idade"));  
      
    if (idade >= 18){  
        JOptionPane.showMessageDialog(null,"você esta na categoria adulto " );   
    }  
    else if (idade >= 5 && idade <= 7){  
         JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );   
    }  
     else if (idade >= 8 && idade <= 11){  
    	 JOptionPane.showMessageDialog(null,"você esta na categoria infantil b " );  
    }  
     else if (idade >= 12 && idade <= 13){  
    	 JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " );
     }      
      
    else if (idade >= 14 && idade <= 17){  
    	JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil B " );  
    	}      
      
    }  
      
}
M

não consigo acessar as imagens !

M

deve ter um jeito mais simples de fazer isso !

Diego_Adriano

Que imagens ?? O código ai esta funcionando normalmente … já testei …

caio.ribeiro.pereira

Se eu digitar 0 nenhuma mensagem aparecera, faltou isolar isso…

import javax.swing.JOptionPane;     
public class exer5 {    

    public static void main (String[]args){    
         
        int idade = Integer.parseInt(JOptionPane.showInputDialog("coloque sua idade"));    
        
        if(idade >= 18){    
             JOptionPane.showMessageDialog(null,"você esta na categoria adulto " );     
        }    
        else if (idade >= 5 && idade <= 7){    
             JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );     
        }    
        else if (idade >= 8 && idade <= 11){    
             JOptionPane.showMessageDialog(null,"você esta na categoria infantil b " );    
        }    
        else if (idade >= 12 && idade <= 13){    
             JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " );  
        } 
        else if (idade >= 14 && idade <= 17){    
             JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil B " );    
        }         
        // Faltou isolar as demais idades foras do padrão.
        else{
             JOptionPane.showMessageDialog(null,"Valor inválido ou sem categoria classifica!" );    
        }
    }    
        
}
G

Soruji:
GilsonNunes:
Soruji:
marks!:
na verdade o erro e na logica mesmo !
eu não estava colocando && para limitar a idade então o programa se confunde entra as opção que eu forneci a ele !

Olha, único erro que eu tô vendo é que se o usuário digitar 6 ou 7 ele não se enquadrará em nenhuma categoria.

e se ele digitar 13?
vai enquadrar em qual categoria?

Juvenil A.

Será que o código tá funcionando agora??? Eis o mistério. :shock:

leia novamente codigo dele e refaça sua resposta.

pq vc acha q não entraria nessa condição?

else if (idade >= 8){ //13 é maior q 8. é não?

G
caio.ribeiro.pereira:
Se eu digitar 0 nenhuma mensagem aparecera, faltou isolar isso....
import javax.swing.JOptionPane;     
public class exer5 {    

    public static void main (String[]args){    
         
        int idade = Integer.parseInt(JOptionPane.showInputDialog("coloque sua idade"));    
        
        if(idade >= 18){    
             JOptionPane.showMessageDialog(null,"você esta na categoria adulto " );     
        }    
        else if (idade >= 5 && idade <= 7){    
             JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );     
        }    
        else if (idade >= 8 && idade <= 11){    
             JOptionPane.showMessageDialog(null,"você esta na categoria infantil b " );    
        }    
        else if (idade >= 12 && idade <= 13){    
             JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " );  
        } 
        else if (idade >= 14 && idade <= 17){    
             JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil B " );    
        }         
        // Faltou isolar as demais idades foras do padrão.
        else{
             JOptionPane.showMessageDialog(null,"Valor inválido ou sem categoria classifica!" );    
        }
    }    
        
}

mas não fica mt mais simples assim?

if (idade >= 18){    
    JOptionPane.showMessageDialog(null,"você esta na categoria adulto " );     
}    
else if (idade >= 14){    
    JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil B " );    
}    
else if (idade >= 12){    
    JOptionPane.showMessageDialog(null,"você esta na categoria Juvenil A " );     
}    
else if (idade >= 8){    
     JOptionPane.showMessageDialog(null,"você esta na categoria infantil b " );    
}    
else if (idade <= 5){    
     JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );     
} else {  
     JOptionPane.showMessageDialog(null,"você esta na categoria 6 e ou 7 anos, nem infantil b nem infantil a" );     
}  
}
Criado 12 de abril de 2012
Ultima resposta 12 de abr. de 2012
Respostas 18
Participantes 7