Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Tarefas_1;
- import java.util.InputMismatchException;
- import java.util.Scanner;
- public class EX08
- {
- static Scanner ent = new Scanner(System.in);
- public static void main(String[] args)
- {
- try
- {
- // Variáveis
- int qtd_1 = 0, qtd_2 = 0, qtd_3 = 0, qtd_4 = 0, qtd_5 = 0, qtd_6 = 0;
- // Controle
- int qtd_tot_vot = 0;
- // Apresentação
- System.out.println("# Programa EX08");
- // Estrutura de repetição
- while (true)
- {
- switch (menu())
- {
- // Relatório
- case 0:
- relatorio(qtd_1, qtd_2, qtd_3, qtd_4, qtd_5, qtd_6, qtd_tot_vot);
- //System.exit(0);
- return;
- //break;
- // Candidato 1
- case 1:
- qtd_1++;
- break;
- // Candidato 2
- case 2:
- qtd_2++;
- break;
- // Candidato 3
- case 3:
- qtd_3++;
- break;
- // Candidato 4
- case 4:
- qtd_4++;
- break;
- // Voto nulo
- case 5:
- qtd_5++;
- break;
- // Voto em branco
- case 6:
- qtd_6++;
- break;
- default:
- System.out.println("# Opção invalida.");
- break;
- }
- // Contagem de votos
- qtd_tot_vot++;
- }
- }
- catch (Exception e)
- {
- System.err.println(e.getMessage());
- ent.nextLine();
- }
- finally
- {
- // Fechamento do scanner
- ent.close();
- }
- }
- // Função: Menu
- private static int menu()
- {
- int opc = -1;
- while (opc < 0 || opc > 6)
- {
- try
- {
- // Apresentação
- System.out.println("\n---------- Menu ----------");
- System.out.println("* [1] Candidato - 1 ");
- System.out.println("* [2] Candidato - 2 ");
- System.out.println("* [3] Candidato - 3 ");
- System.out.println("* [4] Candidato - 4 ");
- System.out.println("* [5] Voto nulo");
- System.out.println("* [6] Voto em branco");
- System.out.println("* [0] Finalizar conjunto de votos");
- System.out.println("---------------------------------");
- System.out.print("* Opc: ");
- opc = ent.nextInt();
- // Verifica se a opção está dentro do intervalo válido
- if (opc < 0 || opc > 6)
- {
- System.out.println("Opção invalida! Digite um valor entre 0 e 6.");
- }
- }
- catch (InputMismatchException e)
- {
- System.out.println("Entrada invalida! Por favor, digite um numero inteiro.");
- ent.nextLine(); // Limpa o buffer do scanner - Porém 'opc continua com o valor de -1'
- }
- }
- return opc;
- }
- // Método: Relatório
- private static void relatorio(int qtd_1, int qtd_2, int qtd_3, int qtd_4, int qtd_5, int qtd_6, int qtd_tot_vot)
- {
- if (qtd_tot_vot > 0)
- {
- System.out.println("\n---------- RELATORIO ----------");
- System.out.println("# Votos (candidato 1): " + qtd_1);
- System.out.println("# Votos (candidato 2): " + qtd_2);
- System.out.println("# Votos (candidato 3): " + qtd_3);
- System.out.println("# Votos (candidato 4): " + qtd_4);
- System.out.println("# Votos nulos: " + qtd_5);
- System.out.println("# Votos em branco: " + qtd_6);
- System.out.println("# Total de votos: " + qtd_tot_vot);
- System.out.println("# Total de votos validos: " + (qtd_tot_vot - (qtd_5 + qtd_6)));
- System.out.printf("# Percentual de votos nulos: %.2f%%\n", (double) qtd_5 * 100 / qtd_tot_vot);
- System.out.printf("# Percentual de votos brancos: %.2f%%\n", (double) qtd_6 * 100 / qtd_tot_vot);
- System.out.println("----------------------------------");
- }
- else
- {
- System.out.println("\n---------- RELATÓRIO ----------");
- System.out.println("# Total de votos: " + qtd_tot_vot);
- System.out.println("----------------------------------");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement