acontece o seguinte erro sempre quando eu coloco o ultimo valor de entrada.
[img]http://img220.imageshack.us/img220/7596/semttulofty.png[/img]
public class Controle {
int chapa1,chapa2,chapa3, nulo, branco, impate=0, pt=0;
void EInicio(String c1, String c2, String c3){// Exibe Comentarios iniciais
System.out.println(" Bem vindo a votação para presidencia do clube!");
System.out.println(" A votação acontecera de uma seguinte forma :");
System.out.println(" Os eleitores escolherao entre 3 chapas");
System.out.println("");
System.out.println(" Chapa 1 patido" + c1);
System.out.println(" Chapa 2 patido" + c2);
System.out.println(" Chapa 3 patido" + c3);
System.out.println("");
System.out.println(" As chapas sao representadas pelos seus respectivos numeros, como mostrado acima!");
System.out.println(" Porfavor a votação ira comessar, organizem-se");
}
float PorcentV(int Vchapa1, int Vchapa2, int Vchapa3, int Vbranco,int Vtotal, int Vnulo){ //Procentagem de votos validos
int TotalVotosValidos = Vchapa1 + Vchapa2 + Vchapa3 + Vbranco;
return TotalVotosValidos * 100 / Vtotal;
}
float PorcentChapa1(int Vchapa1, int Vvalidos){//Porcentagem Chapa 1
return Vchapa1 * 100 / Vvalidos;
}
float PorcentChapa2(int Vchapa2, int Vvalidos){//Porcentagem Chapa 2
return Vchapa2 * 100 / Vvalidos;
}
float PorcentChapa3(int Vchapa3, int Vvalidos){//Porcentagem Chapa 3
return Vchapa3 * 100 / Vvalidos;
}
float PorcentBranco(int Vbranco, int Vvalidos){//Porcentagem Branco
return Vbranco * 100 / Vvalidos;
}
float Porcentnulo(int Vtotal, int Vvalidos){//Porcentagem Nulos
int Vnulos = Vtotal - Vvalidos;
return Vnulos * 100 / Vtotal;
}
void Resultados(float PV, float PC1, float PC2, float PC3, float PB, float PN, int Vtotal, int Vvalidos ){// Exibe resultados
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" A votação esta finalizada ");
if ((PV >= 0 && PV <= 100) && (PC1 >= 0 && PC1 <= 100) && (PC2 >= 0 && PC2 <= 100) && (PC3 >= 0 && PC3 <= 100) && (PB >= 0 && PB <= 100) && (PN >= 0 && PN <= 100) && (Vtotal > -1 ) && (Vvalidos > -1 && Vvalidos<=Vtotal)){
System.out.println(" A votação foi processada com sucesso!");
System.out.println("");
System.out.println(" Os resultados foram . . .");
System.out.println("");
System.out.println(" Foram Contados um total de " + Vtotal + " Votos");
System.out.println(" Votos validos foram "+Vvalidos+" de Votos validos com uma porcentagem de "+PN+"% de votos validos");
System.out.println(" Votos nulos foram " +nulo);
System.out.println(" A chapa 1 fez "+ chapa1 + "votos com uma porcentagem de "+PC1+"% de votos");
System.out.println(" A chapa 2 fez "+ chapa2 + "votos com uma porcentagem de "+PC2+"% de votos");
System.out.println(" A chapa 3 fez "+ chapa3 + "votos com uma porcentagem de "+PC3+"% de votos");
System.out.println(" Votos em branco teve um total de "+branco+" Votos com uma porcentagem de "+PB+"% dos votos validos");
System.out.println("");
System.out.println("");
}else{
System.out.println(" Ocorreu um erro no programa, porfavor chame um tecnico para verificar os valores");
System.out.println("");
System.out.println("");
System.out.println(" As variaveis de porcentagem nao podem ser menores de 0 e nem de 100, os valores de cada variavel esta a sua direita");
System.out.println("");
System.out.println(" PV"+PV+"PC1"+PC1+"PC2"+PC2+"PC3"+PC3+"PB"+PB+"PN"+PN+"Vtotal"+Vtotal+"Vvalidos"+Vvalidos);
}
}
void Ganhador(String c1, String c2, String c3){// Informa o ganhador
if(chapa1 > chapa2 && chapa1 > chapa3 && chapa1 > branco){
impate = 1;
System.out.println("A Chapa "+c1+" Ganhou a eleição!");
}
if(chapa2 > chapa1 && chapa2 > chapa3 && chapa2 > branco){
impate = 1;
System.out.println("A Chapa "+c2+" Ganhou a eleição!");
}
if(chapa3 > chapa2 && chapa3 > chapa1 && chapa3 > branco){
impate = 1;
System.out.println("A Chapa "+c3+" Ganhou a eleição!");
}
if(branco > chapa2 && branco > chapa1 && branco > chapa3){
impate = 1;
System.out.println("Votos em branco foram a maioria, Entao acontecera uma nova eleição!");
pt = 1;
}
if (impate==0){
System.out.println("Ouve um empate, ira acontecer uma nova eleição");
pt=1;
}
}
}
import java.util.Scanner;
public class Executavel {
public static void main(String[] args){
String Partido1 = "Partido dos Bala", Partido2 = "Partido dos Chicle", Partido3 = "Partido dos FreeChelse";
int i,TotaisEleitores=20, Vvalidos;
char v;
Scanner entrada = new Scanner(System.in);
Controle o = new Controle();
while(o.pt==0){
o.EInicio(Partido1, Partido2, Partido3);
for(i=1;i<=TotaisEleitores;i++){
System.out.println("1-Chapa1 - 2-Chapa2 - 3-Chapa3 - 0-Branco Voto "+ i);
v = (char) entrada.nextInt();
if(v=='1'){
o.chapa1++;
}
if(v=='2'){
o.chapa2++;
}
if(v=='3'){
o.chapa3++;
}
if(v=='0'){
o.chapa1++;
}
if(v!='1' && v!='2' && v!='3'&& v!='0'){
o.nulo++;
}
}
Vvalidos = TotaisEleitores - o.nulo;
o.Resultados(o.PorcentV(o.chapa1, o.chapa2, o.chapa3, o.branco, TotaisEleitores, o.nulo), o.PorcentChapa1(o.chapa1, Vvalidos), o.PorcentChapa2(o.chapa2, Vvalidos), o.PorcentChapa3(o.chapa3, Vvalidos), o.PorcentBranco(o.branco, Vvalidos), o.Porcentnulo(TotaisEleitores, Vvalidos), TotaisEleitores, Vvalidos );
o.Ganhador(Partido1, Partido2, Partido3);
}
}
}
Disculpa se for muita coisa, mais se alguem souber porfavor!