Preciso de um programa que faça a apuração de uma eleição com 3 candidatos. O eleitor vai digitar 1 para o primeiro candidato, ou 2 para o segundo ou 3 para o terceiro. Para encerrar a eleição o operador do computador deverá digitar -1.
Ao final o programa deverá imprimir o total de votos, os votos de cada candidato e imprimir o número do candidato que obteve mais votos. Caso o eleitor digite valores menores que 1 ou maiores que 3 deverá ser exibida a mensagem: “Voto Inválido!”.
sera que aguem pode me ajudar?
Você consegue fazer a leitura do teclado?
consigo sim eu ate crie um projeto mas esta cheio de erro
todos rsrsr…
já criei vários e nenhum funciona.
teria como vc fazer um pra mim ver como funciona?
@adrienne, que tal você postar um desses que você fez e que está cheio de erros e com base nele nós irmos ‘acertando’ esses erros. Creio ser mais produtivo para você, em questão de aprendizado.
Scanner input = new Scanner(System.in);
int sair = -1;
int n = 0;
int m = 0;
int p = 0;
int l = 0;
while (sair != -1) {
System.out.println("Qual é o seu Candidato ?");
int voto = input.nextInt();
if (voto == 1) {
System.out.println("Candidato Marcos");
System.out.println("");
m = m + 1;
}
if (voto == 2) {
System.out.println("Candidato Paulo");
System.out.println("");
p = p + 1;
}
if (voto == 3) {
System.out.println("Candidato Lucas ");
System.out.println("");
l = l + 1;
if (voto > 3) {
System.out.println("Voto Nulo");
System.out.println("");
n = n + 1;
}
if (voto == 0) {
sair = voto;
int vtotal = m + p + l;
System.out.println("Contagem dos votos:");
System.out.println("Total dos votos: " + vtotal);
System.out.println("Marcos: " + m);
System.out.println("Paulo: " + p);
System.out.println("Lucas: " + l);
System.out.println("Brancos: " + b);
System.out.println("Nulos: " + n);
break;
}
}
}
Por favor @adrienne, utilize o botão </>
do editor de texto para formatar o código. Isso facilita a leitura e o teste.
pronto sera que vc pode me ajudar?
Qual é o erro? Eu percebi que a sua variável sair
foi inicializada com -1
. No entanto, a condição do while
testa para diferente de -1
. Logo, o while
não será executado.
mesmo assim eu não consigo testa o programa
eu arrumei os erros de digitação do seu código, copia e cola na sua IDE pra testar de novo
sim mas aonde esta o que vc fez???
no msm lugar q vc colocou o seu codigo, é só copiar e colar na ide
da construído com sucesso mas não consigo testar
Ou inicialize a sua variável sair
com um valor diferente de-1
ou mude a verificação do while
. Como sair vale -1
, e while
só executa se sair for diferente de -1
, então o while
não executa.
Um exemplo:
import java.util.Scanner;
public class Eleicao {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
char sair = 'N';
int m = 0;
int p = 0;
int l = 0;
int b = 0;
int n = 0;
while (sair == 'n' || sair == 'N'){
System.out.println ("Qual é o seu Candidato?");
System.out.println(
"1 - Lucas\n" +
"2 - Marcos\n" +
"3 - Paulo\n" +
"4 - Branco\n"
);
System.out.print("\nCandidato escolhido: ");
int voto = input.nextInt();
switch(voto){
case 1:
l += 1;
break;
case 2:
m += 1;
break;
case 3:
p += 1;
break;
case 4:
b += 1;
break;
default:
n += 1;
}
System.out.print("\nEncerrar votação? [S/N]: ");
sair = input.next().charAt(0);
if(sair == 's' || sair == 'S'){
System.out.println("\nVotação encerrada!");
System.out.println("Apuração:\n");
System.out.println("Lucas: " + l + " votos.");
System.out.println("Marcos: " + m + " votos.");
System.out.println("Paulo: " + p + " votos.");
System.out.println("Brancos: " + b + " votos.");
System.out.println("Nulos: " + n + " votos.");
if(l > m && l > p)
System.out.println("\nO candidato Lucas foi eleito com " + l + " voto(s)");
if(m > l && m > p)
System.out.println("\nO candidato Marcos foi eleito com " + m + " voto(s)");
if(p > l && p > m)
System.out.println("\nO candidato Paulo foi eleito com " + p + " voto(s)");
else
if(l == m)
System.out.println("\nA eleição terá segundo turno entre o candidato "
+ "Lucas e o candidato Marcos.");
if(l == p)
System.out.println("\nA eleição terá segundo turno entre o candidato "
+ "Lucas e o candidato Paulo.");
if(m == p)
System.out.println("\nA eleição terá segundo turno entre o candidato "
+ "Marcos e o candidato Paulo.");
}
}
}
}
Rodando…
Muito obg…
Me ajudou muito.