Miguel Correia Posted March 7, 2013 at 06:33 PM Report #498298 Posted March 7, 2013 at 06:33 PM (edited) Boas gente , estou a fazer um exercicio para avaliação em JAva , e o exercicio é fazer o euro milhoes . Ja está quase tudo feito so me falta comparar os elementos jogados pelo utilizador e os random gerados. Peguei nos elementos todos so numeros e juntei-os num array e agora queria ver se ha repetidos . Depois fazia igual para as estrelas . Envio em baixo o codigo . public static int[] compara () { Scanner ler = new Scanner(System.in); int[] lista = apostaUtilizador(); // int[] rand = euro_M(); // numeros Random int[] total = new int[10]; for(int i= 0; i < 5;i++){ out.print(lista); } for(int j=0; j < 5; j++){ out.print(rand[j]); } System.arraycopy(lista,0,total,4,4); System.arraycopy(rand,0,total,4,4); return total; Edited March 7, 2013 at 06:54 PM by brunoais geshi
HappyHippyHippo Posted March 7, 2013 at 06:38 PM Report #498301 Posted March 7, 2013 at 06:38 PM deixa ver se esta frase te acende uma luz: para todos elementos da chave, tens de verificar se o número existe em tobos os elementos escolhidos pelo utilizador IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Guest darkangel_13 Posted March 7, 2013 at 06:39 PM Report #498302 Posted March 7, 2013 at 06:39 PM Boa tarde para que é que copias os arrays ?
HappyHippyHippo Posted March 7, 2013 at 06:40 PM Report #498304 Posted March 7, 2013 at 06:40 PM copiar ? eu usei essa palavra ? de onde tiraste essa ideia ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
brunoais Posted March 7, 2013 at 06:55 PM Report #498310 Posted March 7, 2013 at 06:55 PM copiar ? eu usei essa palavra ? de onde tiraste essa ideia ? Não é contigo (repara no username 😉) "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Miguel Correia Posted March 7, 2013 at 08:20 PM Author Report #498338 Posted March 7, 2013 at 08:20 PM (edited) Copia os numeros todos para um array e ve se ha repetidos nesse array. Nao fez luz, podia explicar melhor sff? Edited March 7, 2013 at 08:21 PM by Miguel Correia
HappyHippyHippo Posted March 7, 2013 at 08:27 PM Report #498341 Posted March 7, 2013 at 08:27 PM Copia os numeros todos para um array e ve se ha repetidos nesse array. isso não faz sentido porque como não existe alteração de informação, a necessidade de cópia de valores é irrelevante Nao fez luz, podia explicar melhor sff? infelizmente não, isto porque (apesar de ter escrito todos com um 'b') a frase diz claramente o que tens de fazer, e é contra os meus princípios apresentar a solução a quem não apresentou um modelo/algoritmo correcto de solução, demonstrando que o problema não é conhecimento do processo mas sim de implementação. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 08:30 PM Author Report #498343 Posted March 7, 2013 at 08:30 PM Sim , nao estou a pedir a solução , so quero que me explica melhor o que tenho de fazer. Só isso . O objectivo do forum não é dar soluções 😉
HappyHippyHippo Posted March 7, 2013 at 08:33 PM Report #498345 Posted March 7, 2013 at 08:33 PM está é a frase que te apresentei: CICLO - para todos elementos da chave COMPARAÇÃO DE - tens de verificar se ELEMENTO ITERADO - o número existe em CICLO - todos os elementos escolhidos pelo utilizador IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 08:41 PM Author Report #498349 Posted March 7, 2013 at 08:41 PM Já entendi , Obrigado 🙂
Miguel Correia Posted March 7, 2013 at 09:53 PM Author Report #498383 Posted March 7, 2013 at 09:53 PM (edited) ja tentei varias maneiras e nao tou a ver como fazer, isto nao funciona , mas so consegui isto . O que estou a fazer mal? int[] lista = apostaUtilizador(); int[] rand = euro_M(); int cn=0; int ce=0; for(int i=0; i < rand.length-2;i++){ for(int j=0;j<lista.length-2;j++){ if (rand[i] == lista[j]) cn++; } } out.print("Acertou " + cn +" Numero(s) e acertou " + ce + " Estrelas"); return lista; } Edited March 7, 2013 at 09:55 PM by Miguel Correia
HappyHippyHippo Posted March 7, 2013 at 09:57 PM Report #498385 Posted March 7, 2013 at 09:57 PM porque length - 2 ? onde estás a calcular o ce ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 09:59 PM Author Report #498390 Posted March 7, 2013 at 09:59 PM (edited) Porque so quero calcular os numeros primeiro e depois as Estrelas . o contador de estrela so esta la para nao me esquecer. Ainda nao calculei Edited March 7, 2013 at 09:59 PM by Miguel Correia
HappyHippyHippo Posted March 7, 2013 at 10:06 PM Report #498392 Posted March 7, 2013 at 10:06 PM Porque so quero calcular os numeros primeiro e depois as Estrelas . o contador de estrela so esta la para nao me esquecer. Ainda nao calculei agora responde à primeira pergunta IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 10:08 PM Author Report #498396 Posted March 7, 2013 at 10:08 PM (edited) porque se o array tem dimensao 6 (0..6) = 7 , tiro duas posiçoes e fica 5 para os numeros e depois comparo as estrelas Edited March 7, 2013 at 10:10 PM by Miguel Correia
HappyHippyHippo Posted March 7, 2013 at 10:22 PM Report #498400 Posted March 7, 2013 at 10:22 PM (edited) e a posição do último índice não tem direito a ser comparada ? Edited March 7, 2013 at 10:23 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 10:32 PM Author Report #498402 Posted March 7, 2013 at 10:32 PM mesmo assim não funciona. Ja funcionou , o erro tava na função aposta do utilizador
HappyHippyHippo Posted March 7, 2013 at 10:37 PM Report #498406 Posted March 7, 2013 at 10:37 PM como sabes que não funciona ? apresenta o código que tens agora IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Miguel Correia Posted March 7, 2013 at 10:44 PM Author Report #498408 Posted March 7, 2013 at 10:44 PM (edited) import java.lang.Object; import java.util.Arrays; import java.util.Scanner; import static java.lang.System.out; import java.util.Random; public class F2ex9 { /**Funçao que lê a aposta do Utilizador, numeros*/ public static int [] apostaUtilizadorN (){ Scanner ler = new Scanner(System.in); // lê atraves do teclado int i; int[] fim = new int[6]; // definir o tamanho do array final out.println("Introduza os numeros pretendidos :"); // Printf for(i=0; i < 5{// NUMEROS int leArray = ler.nextInt(); // scanf boolean testa = procuraArray(leArray,fim);// testa se os numeros pertencem ao array if (leArray >=1 && leArray <=50 && testa) { fim = leArray; i++; } // se o numero pertençer a sua gama de valores else out.println("!!!Numero invalido , introduza outro numero!!!"); } Arrays.sort(fim);//ordena os numeros return fim; // chave ordenada num unico array } /** aposta do utilizador , estrelas */ public static int [] apostaUtilizadorE(){ Scanner ler = new Scanner(System.in); int[] estrelas = new int[2]; out.println("Introduza agora as estrelas pretendias :"); for(int i=0;i<2{// ESTRELAS int e = ler.nextInt(); boolean testaEstrela = procuraArray(e,estrelas);// testa se as estrelas pertencem ao array if(e >=1 && e <=9 && testaEstrela) { estrelas = e; i++; } else out.println("!!!Insira outra estrela , numero invalido!!!"); } Arrays.sort(estrelas); return estrelas; } /** Funçao que testa se nao existe elementos repetidos */ public static boolean procuraArray(int n, int[] nu_es){ boolean nrepetidos = true; for(int ind = 0;ind <= nu_es.length-1;ind++){ if(nrepetidos){ // se nao é repetidos if(nu_es[ind] == n) { nrepetidos = false; } } } return nrepetidos; } /** Funçao que calcula os numeros random */ public static int [] randN (){ int i; int[] fim = new int[6]; // definir o tamanho do array final out.println("========== Numeros Sorteados =========="); // Printf for(i=0; i < 5{// NUMEROS int numeros = sorteia(); // scanf boolean testaNumeros = procuraArray(numeros,fim);// testa se os numeros pertencem ao array if (numeros >=1 && numeros <=50 && testaNumeros) { out.println(numeros); fim = numeros; i++; } // se o numero pertençer a sua gama de valores } Arrays.sort(fim);//ordena os numeros return fim; // chave ordenada num unico array } /** Funçao que calcula as estrelas random */ public static int[] randE(){ int[] estrelas = new int[2]; out.println("********** Estrelas Sorteadas **********:"); for(int i=0;i<2{// ESTRELAS int e = sorteia(); boolean testaEstrela = procuraArray(e,estrelas);// testa se as estrelas pertencem ao array if(e >=1 && e <=9 && testaEstrela) { out.println(e); estrelas = e; i++; } } Arrays.sort(estrelas);//ordena os numeros return estrelas; // chave ordenada num unico array } public static void compara(int[] nU, int[] nR, int[] eU, int[] eR) { out.println("========== Numeros em que acertou =========="); for(int i = 0; i < nU.length; i++){ for(int j = 0; j< nR.length; j++) { if (nU==nR[j]) out.println(nU); } } out.println("********** Estrelas em que acertou **********"); for(int i = 0; i < eU.length; i++){ for(int j = 0; j< eR.length; j++) { if (eU==eR[j]) out.println(eU); } } } public static int sorteia () { Random r = new Random (); final int H = 50; final int L = 1; return (int) (r.nextDouble () * (H-L)) + L; } public static void main (String [] args){ int[] nU = apostaUtilizadorN(); int[] eU = apostaUtilizadorE(); int[] nR = randN(); int[] eR = randE(); compara(nU,eU,nR,eR); } } Edited March 10, 2013 at 09:55 AM by brunoais geshi
LuisMendes330 Posted March 8, 2013 at 01:00 AM Report #498418 Posted March 8, 2013 at 01:00 AM (edited) public class F2ex9 Não te dá erro nesta linha? Edited March 10, 2013 at 09:56 AM by brunoais geshi
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now