Operador "ou" e "e"

5 respostas
M

Quais os operadores pra indicarem "ou", e "e"?
vi em um site q era "|" mas ta dando erro com ele, esse é o codigo:

import javax.swing.JOptionPane;

public class cp5 {

	public static void main(String args[]) {

		String a = JOptionPane.showInputDialog("Você nasceu no rio?");

			if (a.equals("Sim" || "sim")){

                                JOptionPane.showMessageDialog(null,"Então você é carioca");

			} else {
			
				JOptionPane.showMessageDialog(null,"Você não é carioca");

			}

	}

}

5 Respostas

diego.sas

Uma alternativa seria:

String a = JOptionPane.showInputDialog("Você nasceu no rio?");   
		  a = a.toUpperCase();// Passar tudo para maiusculo
          if (a.equals("SIM")){   

                              JOptionPane.showMessageDialog(null,"Então você é carioca");   

          } else {   
             
              JOptionPane.showMessageDialog(null,"Você não é carioca");   

          }   

	}
ERVER

Tente

import javax.swing.JOptionPane;   
  
public class cp5 {   
  
    public static void main(String args[]) {   
  
        String a = JOptionPane.showInputDialog("Você nasceu no rio?");   
  
            if ((a.equals("Sim") || (a.equals("sim")))){   
  
                                JOptionPane.showMessageDialog(null,"Então você é carioca");   
  
            } else {   
               
                JOptionPane.showMessageDialog(null,"Você não é carioca");   
  
            }   
  
    }   
  
}
drsmachado

|| seria o equivalente java (e da maioria das linguagens) para OR/OU
&& seria o equivamente java (e da maioria das linguagens) para AND/E

A sintaxe deve fazer comparações isoladas, ou seja

if (a.equals("Sim" || "sim")){

Em que a comparação é feita na mesma sentença, lança erro.

if(a.equals("Sim") || a.equals("sim")){

irá ser executada com sucesso.

Além do mais, como a palavra será digitada pelo usuário, seria interessante substituir o equals por equalsIgnoreCase

if(a.equalsIgnoreCase("sim")){

pois, independente da digitação ser caixa baixa, CAIXA ALTA ou MiGuXêS, irá ter o mesmo objeto para comparação.

alan_pjr

Acho que o que você quer fazer é:

if(a.equalsIgnoreCase("sim"))

ou

if(a.equals("Sim") || a.equals("sim"))
diego.sas

[quote=alan_pjr]Acho que o que você quer fazer é:

if(a.equalsIgnoreCase("sim"))

ou

if(a.equals("Sim") || a.equals("sim"))

O melhor a ser usado é o equalsIgnoreCase…

Devido o usuario poder digitar SIm sIM siM SIm … imagina quantos (|| OU) teria que utilizar!

Criado 26 de janeiro de 2012
Ultima resposta 26 de jan. de 2012
Respostas 5
Participantes 5