Hola amigos, tengo un problema. Un profesor nos ha mandado "jugar la lotería" con un boleto que siempre contiene los mismos números (los números van entre 1 y 49). Entonces su intención es averiguar el número de dias, meses, etc que se tarda en realizar n coincidencias (máximo 6 coincidencias). Entonces, mi problema reside en la comparación de número random generado y los que ya tengo en el vector. He probado mil métodos y no doy con el adecuado, si me pudiérais ayudar os lo agradezco.
Código (java) [Seleccionar]
package sorteo;
import java.util.Random;
import java.util.Scanner;
public class Sorteo {
public static void main(String[] args) {
int i,j,contador = 0,semanas=0,n;
int numeros[]=new int[6];
int boleto[]=new int[6];
Scanner s= new Scanner(System.in);
System.out.println("Dame número de coincidencias");
n=s.nextInt();
//Boleto predefinido
boleto[0]=1;
boleto[1]=3;
boleto[2]=15;
boleto[3]=35;
boleto[4]=39;
boleto[5]=40;
Random rnd=new Random();
//Generar números aleatorios
while(contador!=n){
semanas++;
contador=0;
for( i=0;i<6;i++){
int x=(int)(rnd.nextInt(49-1+1)+1);
if(i==0)//Sólo para la primera posición del vector
numeros[i]=x;
else{
for(j=0;j<i;j++){
if((numeros[j]!=x)){//Comparación de número generado con el del vector
numeros[i]=x;
}
else{
i--;
//j=6;
}
}
}
}
//Ver numeros del vector aleatorios
for(i=0;i<6;i++)
System.out.println(numeros[i]);
System.out.println("------------------------------------");
//Comparar números del boleto aleatorio del fijo
for(i=0;i<6;i++){
for(j=0;j<6;j++){
if((boleto[i])==(numeros[j])) {
contador++;
}
}
}
//System.out.println("Contador"+contador);
}
// System.out.println("Contador"+contador);
System.out.println("Las semanas han sido: "+semanas);
double meses,años,siglos;
meses=semanas/4;
años=meses/12;
siglos=años/100;
System.out.println(meses+" meses");
System.out.println(años+" años");
System.out.println(siglos+" siglos");
}
}