Jump to content

Ver se existe elementos repetidos e imprimir-los


Miguel Correia

Recommended Posts

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 by brunoais
geshi
Link to comment
Share on other sites

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%.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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 by Miguel Correia
Link to comment
Share on other sites

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 by brunoais
geshi
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.