Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import javax.swing.JOptionPane;
- public class Principal {
- public static void main(String[] args) throws IOException {
- int opc;
- Metodos m = new Metodos();
- Votacao[] votacao = new Votacao[100];
- Menu2 menu = new Menu2();
- do {
- opc = Integer.parseInt(JOptionPane.showInputDialog("MENU PRINCIPAL\n1 -Carregar Seção/Número Eleitor\n2 - Classificar por Seção\n"
- + "3 - Gravar Registros\n4 - Mostrar Indicadores\n9 - Finalizar\n"));
- switch(opc) {
- case 1:
- votacao = m.cadastro();
- break;
- case 2:
- votacao = m.classifica(votacao);
- break;
- case 3:
- votacao = m.gravacao(votacao);
- break;
- case 4:
- menu.menu2(votacao);
- break;
- case 9:
- System.exit(0);
- break;
- default: JOptionPane.showMessageDialog(null, "OPÇÃO INVÁLIDA!");
- }
- }
- while(opc != 9);
- }
- }
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import javax.swing.JOptionPane;
- public class Metodos {
- public Votacao[] cadastro() {
- Votacao[] votacao = new Votacao[100];
- int tamanho = votacao.length;
- for (int i = 0; i < tamanho; i++) {
- votacao[i] = new Votacao();
- votacao[i].NumeroCandidato = (int) ((Math.random() * 300)+1);
- votacao[i].NumeroSecao = (int)((Math.random() * 10)+1); }
- return votacao;
- }
- public Votacao[] classifica(Votacao[] votacao) {
- int tamanho = votacao.length;
- Votacao[] aux = new Votacao[1];
- for (int i = 0; i < tamanho - 1; i++) {
- for (int j = 0; j < tamanho - 1 - i; j++) {
- if (votacao[j].NumeroSecao > votacao[j + 1].NumeroSecao) {
- // int temp = votacao[j].NumeroSecao;
- // votacao[j].NumeroSecao = votacao[j+1].NumeroSecao;
- // votacao[j+1].NumeroSecao = temp;
- aux[0] = votacao[j];
- votacao[j] = votacao[j + 1];
- votacao[j + 1] = aux[0];
- }
- }
- }
- System.out.println("Dados classificados!");
- return votacao;
- }
- public Votacao[] gravacao(Votacao[] votacao) throws IOException {
- BufferedWriter grava = new BufferedWriter(new FileWriter("Votacao.txt"));
- int tamanho = votacao.length;
- for (int i = 0; i < tamanho; i++) {
- grava.write("Número de Candidato: \n" + Integer.toString(votacao[i].NumeroCandidato));
- grava.newLine();
- grava.write("Número da Seção: \n" + Integer.toString(votacao[i].NumeroSecao));
- grava.newLine();
- }
- System.out.println("arquivo gerado.");
- grava.close();
- return votacao;
- }
- public void quantSecao(Votacao[] votacao) {
- //Quantidade de eleitores por Seção
- int tamanho = votacao.length;
- int[] eleitoresSecao = new int[10];
- for (int i = 0; i < tamanho; i++) {
- eleitoresSecao[votacao[i].NumeroSecao - 1]++;
- }
- for (int i = 0; i < 10; i++) {
- System.out.printf("A seção #%d teve %d.\n", (i + 1), eleitoresSecao[i]);
- }
- }
- public void secaoMaiorMenor(Votacao[] votacao) {
- //Número da Seção com maior e menor números de eleitores (procedimento);
- int tamanho = votacao.length;
- Votacao[] aux = new Votacao[10];
- for(int i = 0; i < tamanho; i++) {
- //
- }
- System.out.printf("Menor seção foi: %d\n", votacao[0].NumeroCandidato);
- System.out.printf("Maior seção foi: %d\n", votacao[tamanho - 1].NumeroCandidato);
- }
- public void quantCandi(Votacao[] votacao) {
- //Quantidade de votos por candidato
- int tamanho = votacao.length;
- int[] candidatosquant = new int[100];
- for (int i = 0; i < tamanho; i++) {
- candidatosquant[votacao[i].NumeroCandidato]++;
- }
- for (int i = 0; i < tamanho; i++) {
- System.out.printf("Candidato %d# obteve %d votos.\n", (i + 1), candidatosquant[i]);
- }
- }
- public void maisVotados(Votacao[] votacao) {
- //Exibir os 10 candidatos mais votados e suas quantidades
- int tamanho = votacao.length;
- int [] ranking = new int[10];
- for (int i = 0; i < 10; i++) {
- System.out.printf("Candidato #%d obteve %d pontos\n", (i+1), votacao[i].NumeroCandidato-1);
- }
- }
- }
- import javax.swing.JOptionPane;
- public class Menu2 {
- public Menu2() {
- super();
- }
- Votacao[] votacao = new Votacao[100];
- public void menu2(Votacao[] votacao) {
- int opc2;
- Metodos m = new Metodos();
- do {
- opc2 = Integer
- .parseInt(JOptionPane.showInputDialog("MENU INDICADORES\n1 - Quantidade de eleitores por Seção \n"
- + "2 - Número da Seção com maior e menor números de eleitores\n3 - Quantidade de votos por candidato \n"
- + "4 - 10 candidatos mais votados e quantidade de votos\n9 - VOLTAR\n"));
- switch (opc2) {
- case 1:
- m.quantSecao(votacao);
- break;
- case 2:
- m.secaoMaiorMenor(votacao);
- break;
- case 3:
- m.quantCandi(votacao);
- break;
- case 4:
- m.maisVotados(votacao);
- break;
- case 9:
- System.exit(0);
- break;
- default:
- JOptionPane.showMessageDialog(null, "OPÇÃO INVÁLIDA!");
- }
- } while (opc2 != 9);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement