Advertisement
sarahccarvalho

Votação

May 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.89 KB | None | 0 0
  1. import java.io.IOException;
  2.  
  3. import javax.swing.JOptionPane;
  4.  
  5. public class Principal {
  6.     public static void main(String[] args) throws IOException {
  7.         int opc;
  8.        
  9.         Metodos m = new Metodos();
  10.         Votacao[] votacao = new Votacao[100];
  11.         Menu2 menu = new Menu2();
  12.        
  13.         do {
  14.             opc = Integer.parseInt(JOptionPane.showInputDialog("MENU PRINCIPAL\n1 -Carregar Seção/Número Eleitor\n2 - Classificar por Seção\n"
  15.                     + "3 - Gravar Registros\n4 - Mostrar Indicadores\n9 - Finalizar\n"));
  16.            
  17.             switch(opc) {
  18.             case 1:
  19.                 votacao = m.cadastro();
  20.                 break;
  21.             case 2:
  22.                 votacao = m.classifica(votacao);
  23.                 break;
  24.             case 3:
  25.                 votacao = m.gravacao(votacao);
  26.                 break;
  27.             case 4:
  28.                 menu.menu2(votacao);
  29.                 break;
  30.             case 9:
  31.                 System.exit(0);
  32.                 break;
  33.                 default: JOptionPane.showMessageDialog(null, "OPÇÃO INVÁLIDA!");
  34.             }
  35.         }
  36.         while(opc != 9);
  37.     }
  38. }
  39.  
  40.  
  41. import java.io.BufferedWriter;
  42. import java.io.FileWriter;
  43. import java.io.IOException;
  44.  
  45. import javax.swing.JOptionPane;
  46.  
  47. public class Metodos  {
  48.  
  49.     public Votacao[] cadastro() {
  50.         Votacao[] votacao = new Votacao[100];
  51.         int tamanho = votacao.length;
  52.  
  53.         for (int i = 0; i < tamanho; i++) {
  54.             votacao[i] = new Votacao();
  55.             votacao[i].NumeroCandidato = (int) ((Math.random() * 300)+1);
  56.             votacao[i].NumeroSecao = (int)((Math.random() * 10)+1);     }
  57.         return votacao;
  58.     }
  59.  
  60.     public Votacao[] classifica(Votacao[] votacao) {
  61.         int tamanho = votacao.length;
  62.         Votacao[] aux = new Votacao[1];
  63.  
  64.         for (int i = 0; i < tamanho - 1; i++) {
  65.  
  66.             for (int j = 0; j < tamanho - 1 - i; j++) {
  67.  
  68.                 if (votacao[j].NumeroSecao > votacao[j + 1].NumeroSecao) {
  69.                     // int temp = votacao[j].NumeroSecao;
  70.                     // votacao[j].NumeroSecao = votacao[j+1].NumeroSecao;
  71.                     // votacao[j+1].NumeroSecao = temp;
  72.                     aux[0] = votacao[j];
  73.                     votacao[j] = votacao[j + 1];
  74.                     votacao[j + 1] = aux[0];
  75.                 }
  76.             }
  77.         }
  78.         System.out.println("Dados classificados!");
  79.         return votacao;
  80.     }
  81.  
  82.     public Votacao[] gravacao(Votacao[] votacao) throws IOException {
  83.         BufferedWriter grava = new BufferedWriter(new FileWriter("Votacao.txt"));
  84.         int tamanho = votacao.length;
  85.  
  86.         for (int i = 0; i < tamanho; i++) {
  87.             grava.write("Número de Candidato: \n" + Integer.toString(votacao[i].NumeroCandidato));
  88.             grava.newLine();
  89.             grava.write("Número da Seção: \n" + Integer.toString(votacao[i].NumeroSecao));
  90.             grava.newLine();
  91.         }
  92.         System.out.println("arquivo gerado.");
  93.         grava.close();
  94.         return votacao;
  95.     }
  96.  
  97.     public void quantSecao(Votacao[] votacao) {
  98.         //Quantidade de eleitores por Seção
  99.         int tamanho = votacao.length;
  100.         int[] eleitoresSecao = new int[10];
  101.  
  102.         for (int i = 0; i < tamanho; i++) {
  103.             eleitoresSecao[votacao[i].NumeroSecao - 1]++;
  104.         }
  105.  
  106.         for (int i = 0; i < 10; i++) {
  107.             System.out.printf("A seção #%d teve %d.\n", (i + 1), eleitoresSecao[i]);
  108.         }
  109.     }
  110.  
  111.     public void secaoMaiorMenor(Votacao[] votacao) {
  112.         //Número da Seção com maior e menor números de eleitores (procedimento);
  113.         int tamanho = votacao.length;
  114.         Votacao[] aux = new Votacao[10];
  115.        
  116.         for(int i = 0; i < tamanho; i++) {
  117.                 //
  118.             }
  119.         System.out.printf("Menor seção foi: %d\n", votacao[0].NumeroCandidato);
  120.         System.out.printf("Maior seção foi: %d\n", votacao[tamanho - 1].NumeroCandidato);
  121.     }
  122.  
  123.     public void quantCandi(Votacao[] votacao) {
  124.         //Quantidade de votos por candidato
  125.         int tamanho = votacao.length;
  126.         int[] candidatosquant = new int[100];
  127.  
  128.         for (int i = 0; i < tamanho; i++) {
  129.             candidatosquant[votacao[i].NumeroCandidato]++;
  130.         }
  131.  
  132.         for (int i = 0; i < tamanho; i++) {
  133.             System.out.printf("Candidato %d# obteve %d votos.\n", (i + 1), candidatosquant[i]);
  134.         }
  135.     }
  136.  
  137.     public void maisVotados(Votacao[] votacao) {
  138.         //Exibir os 10 candidatos mais votados e suas quantidades
  139.         int tamanho = votacao.length;
  140.         int [] ranking = new int[10];
  141.        
  142.         for (int i = 0; i < 10; i++) {
  143.             System.out.printf("Candidato #%d obteve %d pontos\n", (i+1), votacao[i].NumeroCandidato-1);
  144.         }
  145.     }
  146. }
  147.  
  148.  
  149. import javax.swing.JOptionPane;
  150.  
  151. public class Menu2 {
  152.    
  153.     public Menu2() {
  154.         super();
  155.     }
  156.  
  157.     Votacao[] votacao = new Votacao[100];
  158.  
  159.     public void menu2(Votacao[] votacao) {
  160.         int opc2;
  161.         Metodos m = new Metodos();
  162.        
  163.         do {
  164.  
  165.             opc2 = Integer
  166.                     .parseInt(JOptionPane.showInputDialog("MENU INDICADORES\n1 - Quantidade de eleitores por Seção \n"
  167.                             + "2 - Número da Seção com maior e menor números de eleitores\n3 - Quantidade de votos por candidato \n"
  168.                             + "4 - 10 candidatos mais votados e quantidade de votos\n9 - VOLTAR\n"));
  169.             switch (opc2) {
  170.             case 1:
  171.                 m.quantSecao(votacao);
  172.                 break;
  173.             case 2:
  174.                 m.secaoMaiorMenor(votacao);
  175.                 break;
  176.             case 3:
  177.                 m.quantCandi(votacao);
  178.                 break;
  179.             case 4:
  180.                 m.maisVotados(votacao);
  181.                 break;
  182.             case 9:
  183.                 System.exit(0);
  184.                 break;
  185.             default:
  186.                 JOptionPane.showMessageDialog(null, "OPÇÃO INVÁLIDA!");
  187.             }
  188.         } while (opc2 != 9);
  189.  
  190.     }
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement