Java - Melate (Sorteo de loteria) aiuda

 
Vista:

Melate (Sorteo de loteria) aiuda

Publicado por Peter (1 intervención) el 10/11/2019 15:28:07
Saludos, me pregunto si pueden ayudarme con un programa usando arreglos, verán me piden lo siguiente:
Ingresar cualquier cantidad de participantes
El participante llena papeleta
No existen números repetidos
Los números solo pueden estar en el rango de 1-59
(Solo seleccionar 6 números)
Generar melate ganador
Deberan haber 7 digitos en total, el ultimo es adicional

Cualquier ayuda en bienvenida, y gracias, aun soy muy novato en programación

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
public class Inicio
{
   public int Melate[]= new int[7];
   public int Participantes[][]= new int[100][6];
   public int pts[]= new int [100];
   public Inicio()
   {
   }
}
 
import java.util.Scanner;
import java.util.Random;
public class Melate extends Inicio
{
   Random rnd = new Random();
   boolean ban=false,ban2=false;
   int n=0,m=0;
   public static void main(String a[])
   {
      Melate obj=new Melate();
            Scanner leer= new Scanner (System.in);
            System.out.println("ingresa el numero de participantes [1]-[100]");
            int x=leer.nextInt();
            obj.llena();
            obj.llenaMatriz(x);
            obj.Puntos(x);
   }
 
   public void llena()
   {
      for(int i=0;i<7;)
      {
         n=rnd.nextInt(59)+1;
 
         for(int j=0; j<i; j++)//Solo afecta al primer if
            if(n==Melate[j])
            {
               ban=true;
               j=i;
            }
            if(ban==false)
            {
               Melate[i]=n;
               i++;
            }
               ban= false;
      }
      System.out.println("Arreglo llenado");
      for(int x:Melate){
         System.out.println("Melate ganador: " +x);
      }
   }
   //Llenado aleatorio de matriz
   public void llenaMatriz(int n)
   {
 
        for(int i=0; i<n;i++)
        {
            for(int j=0; j<6;)
            {
               m=rnd.nextInt(59)+1;
                  for(int f=0; f<j;f++)
                        if(m==Participantes[i][j])
                        {
                           ban2=true;
                           f=i;
                        }
 
                        if(ban2==false)
                        {
                           Participantes[i][j]=m;
                           j++;
                        }
                           ban2= false;
            }
         }
    }
    public void Puntos(int n)
    {
      for(int fila=0;fila<n;fila++)
      {
         for(int col=0;col<6;col++)
         {
            for(int y=0;y<7;y++)
            {
               if(Participantes[fila][col]==Melate[y])
               {
                  pts[fila]++;
                  y=7;
               }
            }
         }
      }
      for(int t = 0; t<n; t++){
         System.out.println("Puntos "+pts[t]);
      }
 
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder