Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jerfeson

operador lógico OU - JAVA

Recommended Posts

package trabalhos;

import javax.swing.JOptionPane;

public class exerc5 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		//area de declarações
		int cont1 = 0,cont2=0, cont3=0,cont4=0;
		int opcao;
		String sOpcao;
		
		do{
			String msg = "Sistema de  votação para a escolha do sindico ";
			msg += "1) João\n";
			msg += "2) José\n";
			msg += "3) Maria\n";
			msg += "4) Joaquin\n";
			msg += "0) Fim\n";

			
			sOpcao = JOptionPane.showInputDialog(msg);
			opcao = Integer.parseInt(sOpcao);
			
			switch (opcao) {
			case 1:
				JOptionPane.showMessageDialog(null, "João");
				cont1++;
				break;
				
			case 2:
				JOptionPane.showMessageDialog(null, "José");
				cont2++;
				break;
			case 3:
				JOptionPane.showMessageDialog(null, "Maria");
				cont3++;
				break;
			case 4:
				JOptionPane.showMessageDialog(null, "Joaquin");
				cont4++;
				break;
			case 0:
				JOptionPane.showMessageDialog(null, "Obrigado!");
				break;
			default:
				JOptionPane.showMessageDialog(null, "Opção inválida");
				break;
			}
		
		
		
		}while(opcao>0);
		
		if (cont1 > cont2  ){
			
		}

 

 

 

a minha duvida é o seguinte em relação ao código acima eu preciso comprara o cont1 ou os demais contadores e mostrar depois por exemplo

 

 

SE cont1 > cont 2 OU cont3 OU cont4

 

 

o operador lógico para ou é || mas não funciona, da erro, como resolver ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou especificar o teste para cada OU

 

 

        if (cont1 > cont2 || cont1 > cont3  || cont1 > cont4 ){
            System.out.println("o cont1 é maior  ");
        }
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

faltou especificar o teste para cada OU

 

 

        if (cont1 > cont2 || cont1 > cont3  || cont1 > cont4 ){
            System.out.println("o cont1 é maior  ");
        }
 

 

E como ficaria se por exemplo eu quisesse mostrar quem é o maior dos três no final ?

 

por exemplo pra ele mostrara quem é o mair entre cont1 2 3 ou 4 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deixem de observar que para o atual cenário o operador OU não se aplica. Você deve usar o operador E. Ou seja, cont1 é maior que cont2 E maior que cont3 E maior que cont4.

if (cont1 > cont2 && cont1 > cont3  && cont1 > cont4 ) {
  System.out.println("o cont1 é maior  ");
}

 

E como ficaria se por exemplo eu quisesse mostrar quem é o maior dos três no final ?

por exemplo pra ele mostrara quem é o mair entre cont1 2 3 ou 4 ?

 

Seguindo a lógica do código que você já implementou, tu poderias criar uma condição pra cada variável.

 

if (cont1 > cont2 && cont1 > cont3  && cont1 > cont4 ) {
  System.out.println("o cont1 é maior  ");
} else if (cont2 > cont1 && cont2 > cont3  && cont2 > cont4 ) {
  System.out.println("o cont2 é maior  ");
} else if (cont3 > cont2 && cont3 > cont2  && cont3 > cont4 ) {
  System.out.println("o cont3 é maior  ");
} else {
  System.out.println("o cont4 é maior ");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.