Problema com if else!

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 " );
    }

    
    
    
    
    }
           }    
    
    
    

[code]if(idade >=5 && < 8)
JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );

// aqui vc faz o resto[/code]

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

[quote=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!

[code]
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 " );
}
}

}
[/code][/quote]

E se o usuario digitar 6 ou 7 ?

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 !

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

ainda ta dando erro !

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

[quote=mauricioadl][code]if(idade <=5 && < 8)
JOptionPane.showMessageDialog(null,"você esta na categoria infantil A " );

// aqui vc faz o resto[/code][/quote]

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í!!!

[quote=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 ! [/quote]

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

[quote=Soruji][quote=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 ! [/quote]

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

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

[quote=GilsonNunes][quote=Soruji][quote=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 ! [/quote]

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

e se ele digitar 13?
vai enquadrar em qual categoria?[/quote]

Juvenil A.

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

[code]
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 " );  
	}      
  
}  

} [/code]

não consigo acessar as imagens !

deve ter um jeito mais simples de fazer isso !

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

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!" );    
        }
    }    
        
}  

[quote=Soruji][quote=GilsonNunes][quote=Soruji][quote=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 ! [/quote]

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

e se ele digitar 13?
vai enquadrar em qual categoria?[/quote]

Juvenil A.

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

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?

[quote=caio.ribeiro.pereira]Se eu digitar 0 nenhuma mensagem aparecera, faltou isolar isso…

[code]
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!" );    
    }
}    

}

[/code][/quote]

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" ); } }