AhmedDVH 0 Denunciar post Postado Outubro 28, 2010 Boas pediram-me para criar um programa em Linguagem java de sistema de votação de uma Universidade. - Cada votante atribui uma pontuação numerica de 0 a 100 a cada opção. - A soma das pontuações atribuidas por cada votante não pode exceder 100. - A ordenação das opções é determinada pela pontuação acumulada ( fica á frente quem acumula mais pontos) - O desempate e feito utilizando a media das pontuações quando se considera apenas as pontuações positivas (i.e.., não entram para esta medias as pontuções nulas) - Após o procedimento anterior, se persistirem situações de empate, o desempate é por decisão arbitrária. Eu não entendo muito bem de Java estou apenas a tentar ajudar alguem.. pesquisei um pouco na net e o resultado que deu e este. import java.util.Scanner; public class Eleitor UAN { public static void main (String [] args ) { /** Le um valor introduzido pelo utilizador que vai definir o numero de eleitores */ Scanner numvotantes = new Scanner (System.in); int votantes = 0; do{ System.out.print("Numero de eleitores: "); votantes = numvotantes.nextInt(); if( votantes<1 ) System.out.println("Numero de eleitores invalido. "); System.out.println(""); } while(votantes< 1); int somaA = 0; int somaB = 0; int somaC = 0; int contadora = 0; int contadorb = 0; int contadorc = 0; boolean erro= false; /** Faz o scan das pontuacoes introduzidas pelo utilizador*/ for(int eleitor =1; eleitor<= votantes; eleitor++) { System.out.println(""); System.out.println ("Eleitor " + eleitor +", faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes )."); System.out.println(""); Scanner pontos =new Scanner (System.in); do{ System.out.print("Pontuacao para A: "); int votoa = pontos.nextInt(); System.out.print("Pontuacao para B: "); int votob =pontos.nextInt(); System.out.print("Pontuacao para C: "); int votoc = pontos.nextInt (); /** Aplica as restricoes */ if(votoa>100 || votob>100 || votoc>100 || votoa+votob+votoc>100){ erro=true; System.out.println(""); System.out.println ("A pontuacao que introduziu nao respeita as regras. Efectue nova votacao"); System.out.println(""); } else { somaA += votoa; somaB += votob; somaC += votoc; erro=false; System.out.println(""); System.out.println ("Obrigado pelo seu voto"); if (votoa>0 && votoa<=100 ) contadora ++; if (votob>0 && votob<=100 ) contadorb ++; if (votoc>0 && votoc<=100 ) contadorc ++; } }while(erro); } /** Faz a media de cada uma das opcoes*/ double mediaA = Math.round(((double) somaA/(double) contadora)*10.0)/10.0; double mediaB = Math.round(((double) somaB/(double) contadorb)*10.0)/10.0; double mediaC = Math.round(((double) somaC/(double) contadorc)*10.0)/10.0; /** Imprime no ecra o valor da pontuacao obtida por cada uma das opcoes e tambem a media*/ System.out.println(""); System.out.println("Pontuacao total de A = " +somaA ); System.out.println("Media de A = " + mediaA); System.out.println(""); System.out.println("Pontuacao total de B = " +somaB ); System.out.println("Media de B = " + mediaB); System.out.println(""); System.out.println("Pontuacao total de C = " +somaC); System.out.println("Media de C = " + mediaC); } } O problema esta ao compilar da 1 erro... public class Eleitor UAN { Alguem pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 30, 2010 public class Eleitor UAN { } O problema esta ao compilar da 1 erro... public class Eleitor UAN { Amigo, Existe um erro de sintaxe ai. 1. Se UAN for uma classe que Eleitor derivará, você precisará utilizar a palavra chave extends para ter uma herança de classes. import pacote.onde.esta.UAN; public class Eleitor extends UAN { //... } 2. Se UAN for uma interface que Eleitor implementará, você precisará utilizar a palavra chave implements e implementar todos os métodos de interface definidos pela interface. import pacote.onde.esta.UAN; public class Eleitor implements UAN { //... } 3. Se UAN for uma generalização, você precisará colocar UAN entre os sinais de < e >. public class Eleitor<UAN> { //... } Agora, se esse UAN for desnecessário como parece, basta removê-lo: import java.util.Scanner; public class Example { public static void main( String[] args ) { /** * Le um valor introduzido pelo utilizador que vai definir o numero de * eleitores */ Scanner numvotantes = new Scanner(System.in); int votantes = 0; do { System.out.print("Numero de eleitores: "); votantes = numvotantes.nextInt(); if (votantes < 1) System.out.println("Numero de eleitores invalido. "); System.out.println(""); } while (votantes < 1); int somaA = 0; int somaB = 0; int somaC = 0; int contadora = 0; int contadorb = 0; int contadorc = 0; boolean erro = false; /** Faz o scan das pontuacoes introduzidas pelo utilizador */ for (int eleitor = 1; eleitor <= votantes; eleitor++) { System.out.println(""); System.out .println("Eleitor " + eleitor + ", faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes )."); System.out.println(""); Scanner pontos = new Scanner(System.in); do { System.out.print("Pontuacao para A: "); int votoa = pontos.nextInt(); System.out.print("Pontuacao para B: "); int votob = pontos.nextInt(); System.out.print("Pontuacao para C: "); int votoc = pontos.nextInt(); /** Aplica as restricoes */ if (votoa > 100 || votob > 100 || votoc > 100 || votoa + votob + votoc > 100) { erro = true; System.out.println(""); System.out .println("A pontuacao que introduziu nao respeita as regras. Efectue nova votacao"); System.out.println(""); } else { somaA += votoa; somaB += votob; somaC += votoc; erro = false; System.out.println(""); System.out.println("Obrigado pelo seu voto"); if (votoa > 0 && votoa <= 100) contadora++; if (votob > 0 && votob <= 100) contadorb++; if (votoc > 0 && votoc <= 100) contadorc++; } } while (erro); } /** Faz a media de cada uma das opcoes */ double mediaA = Math.round(((double) somaA / (double) contadora) * 10.0) / 10.0; double mediaB = Math.round(((double) somaB / (double) contadorb) * 10.0) / 10.0; double mediaC = Math.round(((double) somaC / (double) contadorc) * 10.0) / 10.0; /** * Imprime no ecra o valor da pontuacao obtida por cada uma das opcoes e * tambem a media */ System.out.println(""); System.out.println("Pontuacao total de A = " + somaA); System.out.println("Media de A = " + mediaA); System.out.println(""); System.out.println("Pontuacao total de B = " + somaB); System.out.println("Media de B = " + mediaB); System.out.println(""); System.out.println("Pontuacao total de C = " + somaC); System.out.println("Media de C = " + mediaC); } } A saída: Numero de eleitores: 3 Eleitor 1, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ). Pontuacao para A: 10 Pontuacao para B: 20 Pontuacao para C: 30 Obrigado pelo seu voto Eleitor 2, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ). Pontuacao para A: 15 Pontuacao para B: 30 Pontuacao para C: 45 Obrigado pelo seu voto Eleitor 3, faca o favor de introduzir a pontuacao desejada. ( A soma das pontuacoes atribuidas a cada uma das opcoes nao deve exceder o numero 100 e, alem disso, nao deve atribuir valores negativos nem superiores a 100 a nenhuma das opcoes ). Pontuacao para A: 20 Pontuacao para B: 40 Pontuacao para C: 60 A pontuacao que introduziu nao respeita as regras. Efectue nova votacao Pontuacao para A: 20 Pontuacao para B: 40 Pontuacao para C: 40 Obrigado pelo seu voto Pontuacao total de A = 45 Media de A = 15.0 Pontuacao total de B = 90 Media de B = 30.0 Pontuacao total de C = 115 Media de C = 38.3 Compartilhar este post Link para o post Compartilhar em outros sites