Java - ayuda Java arrays LOTERIA (codigo sencillo)

 
Vista:
sin imagen de perfil

ayuda Java arrays LOTERIA (codigo sencillo)

Publicado por Jose Manuel (12 intervenciones) el 17/11/2021 10:25:36
Realiza un código que simule el resultado de dos tipos de lotería: la primitiva y el euromillones.
El programa deberá mostrar 6 números aleatorios en el caso de la primitiva (del 1 al 49) y 5 en el
caso del euromillonés (del 1 al 50). Estos números deben ser diferentes en ambos casos.
En el caso de la primitiva, también tendrás que mostrar el reintegro, que es un número entre el
1 y el 10.
Para realizar números aleatorios deberás utilizar una clase interna del java que se llama Random.
• Para crear números random necesitas tener una variable de tipo Random:
Random rnd = new Random();

• Cada vez que necesites crear un número random podrás utilizar esta variable.
Se utiliza de la siguiente manera:
int numero = rnd.nextInt(3); → Donde el número 3 indica que vamos a crear
un número aleatorio entre 0 y 2.

Los números tendrán que mostrarse ordenados. Puedes utilizar el algoritmo bubblesort que hemos visto en
clase para ordenarlos.

Un ejemplo de salida sería:
PRIMITIVA
------------
8, 22, 36, 37, 42, 44
Reintegro: 5
EUROMILLONES
------------
8, 9, 11, 33, 44
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

ayuda Java arrays LOTERIA (codigo sencillo)

Publicado por Kabuto (1381 intervenciones) el 17/11/2021 14:21:27
Sería un programa con dos métodos, un para la primitiva y otro para el euromillones.

Te dejo un ejemplo con el de la primitiva hecho.
Intenta hacer tú el de los euromillones, es prácticamente lo mismo, solo hay que hacer unos pequeños cambios.

Si algo no se entiende, solo tienes que preguntarlo. Un saludo.

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
package loterias;
 
import java.util.Random;
 
public class Loterias {
 
	public static void main(String[] args) {
		primitiva();
		System.out.println("\n---------------------\n");
		euromillones();
	}
 
	private static void primitiva() {
 
		Random azar = new Random();
		//Boleto de 6 numeros, comienzan con valores 0
		int[] boleto = new int[6];
		//Contador de numeros generados
		int gen = 0;
 
		/*
		 * Con un bucle generamos 6 valores al azar
		 * pero hemos de comprobar si algún valor
		 * está repetido, para descartarlo y generar otro.
		 */
		while (gen < 6) {
			int valor = azar.nextInt(49) + 1;//Entre 1 y 49
			//Con un segundo bucle, recorremos los valores ya generados para ver si está repetido
			boolean repetido = false;
			for (int i = 0; i < gen; i++)
				if (boleto[i] == valor) //Está repetido
					repetido = true;
			//Solo aceptaremos el valor generado, si NO está repetido
			if (!repetido) {
				boleto[gen] = valor;//Lo aceptamos
				gen++;//Contamos como valor generado
			}
		}
 
		//Ya tenemos 6 valores en el boleto, pero hay que ordenarlos
		for(int i=0; i < 6; i++)
			for(int j=1; j < (6-i); j++)
				if(boleto[j-1] > boleto[j]) {
					int temp = boleto[j-1];
					boleto[j-1] = boleto[j];
					boleto[j] = temp;
				}
 
		//Boleto ordenado. Generamos reintegro
		int reint = azar.nextInt(10) + 1; //Entre 1 y 10
 
		//Mostramos los datos
		System.out.println("PRIMITIVA");
		System.out.println("---------");
		for (int i = 0; i < boleto.length; i++)
			if (i < 5)
				System.out.print(boleto[i] + ", ");
			else
				System.out.println(boleto[i]);
 
		System.out.println("\nReintegro: " + reint);
	}
 
	private static void euromillones() {
		//Codigo para generar boleto de euromillones
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar