jerfeson 1 Denunciar post Postado Abril 10, 2013 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
shini 318 Denunciar post Postado Abril 10, 2013 q erro? http://javafree.uol.com.br/topic-862779-IF-com-operadores-logicos-AND-and-OR.html Compartilhar este post Link para o post Compartilhar em outros sites
jerfeson 1 Denunciar post Postado Abril 10, 2013 q erro? http://javafree.uol.com.br/topic-862779-IF-com-operadores-logicos-AND-and-OR.html The operator || is undefined for the argument type(s) boolean, int if (cont1 > cont2 || cont3 || cont4 ){ System.out.println(" "); } Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Abril 10, 2013 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
jerfeson 1 Denunciar post Postado Abril 10, 2013 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
Vergil 15 Denunciar post Postado Abril 10, 2013 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