Esse programa não executa, uso o eclipse e ele não acusa nenhum erro.
packagePrimeira_aula;importjavax.swing.JOptionPane;publicclassEleicao{publicstaticvoidmain(Stringargs[]){charvoto,continua=0;doublecontA=0,contB=0,contC=0,total=0;while(continua=='s'){voto=JOptionPane.showInputDialog(" Qual candidato?\n A - B - C\n P para parciais ").toLowerCase().charAt(0);switch(voto){case'A':contA++;break;case'B':contB++;break;case'C':contC++;break;case'P':JOptionPane.showMessageDialog(null," A recebeu: "+((contA/total)*100)+" % dos votos\n "+" B recebeu: "+((contB/total)*100)+" % dos votos "+" C recebeu: "+((contC/total)*100)+" % dos votos ");break;}total=contA+contB+contC;if(contA>contB&&contA>contC){JOptionPane.showMessageDialog(null,"venceu A");}if(contB>contC){JOptionPane.showMessageDialog(null,"venceu B");}else{JOptionPane.showMessageDialog(null,"venceu C");}}}}
"continua" é igual a 0, então != 's' o que significa que por leis estabelecidas pelo XGH, nunca executará este while...
H
halflife1940
Outro probleminha, agora ele axecuta, mas não esta computando os votos de cada candidato e quando coloco 'n' para continuar ele continua.
Eu olhei várias vezes e não consigo encontrar o que esta de errado.
packageprimeiraAula;importjavax.swing.JOptionPane;publicclassEleicao{publicstaticvoidmain(Stringargs[]){charvoto,continua='s';doublecontA=0,contB=0,contC=0,total=0;while(continua=='s'){voto=JOptionPane.showInputDialog(" Qual candidato?\n A - B - C\n P para parciais ").toLowerCase().charAt(0);switch(voto){case'A':contA++;break;case'B':contB++;break;case'C':contC++;break;case'P':JOptionPane.showMessageDialog(null," A recebeu: "+((contA/total)*100)+" % dos votos\n "+" B recebeu: "+((contB/total)*100)+" % dos votos "+" C recebeu: "+((contC/total)*100)+" % dos votos ");break;}JOptionPane.showInputDialog("Continua?").charAt(0);total=contA+contB+contC;}//whileJOptionPane.showInputDialog("A recebeu "+contA+" votos\n"+"B recebeu "+contB+" votos\n"+"C recebeu "+contC+" votos\n");if(contA>contB&&contA>contC){JOptionPane.showMessageDialog(null,"venceu A");}if(contB>contC){JOptionPane.showMessageDialog(null,"venceu B");}else{JOptionPane.showMessageDialog(null,"venceu C");}}}
Outra coisa, tens mal os ifs no final, falta um else.
pedruhenrik
vê se ajuda:
importjavax.swing.JOptionPane;publicclassMain{publicstaticvoidmain(Stringargs[]){charvoto,continua='s';doublecontA=0,contB=0,contC=0,total=0;while(continua=='s'){voto=JOptionPane.showInputDialog(" Qual candidato?\n A - B - C\n P para parciais ").toLowerCase().charAt(0);// os cases estavam com letra maiuscula e na linha 12 vc define q voto sera minusculoswitch(voto){case'a':contA++;break;case'b':contB++;break;case'c':contC++;break;case'p':JOptionPane.showMessageDialog(null," A recebeu: "+((contA/total)*100)+" % dos votos\n "+" B recebeu: "+((contB/total)*100)+" % dos votos "+" C recebeu: "+((contC/total)*100)+" % dos votos ");break;}Stringcont=JOptionPane.showInputDialog(null,"Continua?");// recebe String cont p/ comparar no whilecontinua=cont.charAt(0);// char continua recebe convertido valor String conttotal=contA+contB+contC;}// whileJOptionPane.showInputDialog("A recebeu "+contA+" votos\n"+"B recebeu "+contB+" votos\n"+"C recebeu "+contC+" votos\n");//acho q fica mais claro assim a "apuracao" heheif(contA>contB&&contA>contC){JOptionPane.showMessageDialog(null,"venceu A");}elseif(contB>contA&&contB>contC){JOptionPane.showMessageDialog(null,"venceu B");}elseif(contC>contA&&contC>contB){JOptionPane.showMessageDialog(null,"venceu C");}elseif(contC==contA||contC==contB||contB==contA){JOptionPane.showMessageDialog(null,"Ocorreu empate!");}}}
boa sorte aé! ^^
H
halflife1940
EDIT.
[code]if (contA > contB && contA > contC){
JOptionPane.showMessageDialog (null, " Venceu A ");
}
if (contB > contC && contB > contA){
JOptionPane.showMessageDialog (null, " Venceu B ");
}
else
{JOptionPane.showMessageDialog (null, " Venceu o C ");}
if (contB == contA || contA == contC || contC == contB)
{JOptionPane.showMessageDialog (null, " EMPATE! ");}code]
"Obrigadão" pela ajuda, agora não entendi quando se usa só if - else ou else if, como você fez?
Eu fiz desse jeito deu certo também.
H
halflife1940
halflife1940:
EDIT.
if(contA>contB&&contA>contC){
JOptionPane.showMessageDialog(null," Venceu A ");}
if(contB>contC&&contB>contA){
JOptionPane.showMessageDialog(null," Venceu B ");}
else{JOptionPane.showMessageDialog(null," Venceu o C ");}if(contB==contA||contA==contC||contC==contB){JOptionPane.showMessageDialog(null," EMPATE! ");}
"Obrigadão" pela ajuda, agora não entendi quando se usa só if - else ou else if, como você fez?
Eu fiz desse jeito deu certo também.