Codificación aprenderaprogramar.com: CU00909C
EJERCICIO EJEMPLO DE USO DE NÚMEROS ALEATORIOS EN JAVA
Vamos a resolver ejercicios ilustrativos del uso de números aletorios en Java. El primero de ellos: crear el código de un programa en el que se declaren tres variables tipo float a, b y c, cuyo valor se muestre en pantalla y deberá estar comprendido entre cero y 10, excluido el diez.
SOLUCIÓN
/* Ejemplo uso clase Random() – aprenderaprogramar.com */ import java.util.Random;public class Programa { public static void main(String arg[]) { float a, b, c; Random rnd = new Random(); a = (rnd.nextFloat() * 10); b = (rnd.nextFloat() * 10); c = (rnd.nextFloat() * 10); System.out.println(a); System.out.println(b); System.out.println(c); } } |
Comentario: la instrucción siguiente (rnd.nextFloat() * 10), se genera un valor de tipo float y dado que la variables a, b, y c han sido declaradas como float al inicio del programa, los tipos son coherentes.
EJERCICIO RESUELTO
Crear el código de un programa en el que se declaran tres variables tipo int a, b y c, cuyo valor se muestra en pantalla y debe estar comprendido entre cero y 100, utilizando el método nextInt de la clase Random.
Solución:
/* Ejemplo uso clase Random() – aprenderaprogramar.com */ import java.util.Random;public class Programa { public static void main(String arg[]) { int a, b, c; Random rnd = new Random(); a = rnd.nextInt(101); b = rnd.nextInt(101); c = rnd.nextInt(101); System.out.println(a); System.out.println(b); System.out.println(c); } } |
Fíjate que el tipo devuelto por el método nextInt es un int, mientras que el tipo devuelto por el método nextDouble es un double ó el tipo devuelto por el método nextFloat es un float.
EJERCICIO RESUELTO
Crear el código de un programa que genera tres números enteros aleatorios a, b, c, comprendidos entre 65 y 90, ambos inclusive. Los mostraremos en pantalla.
Solución:
/* Ejemplo uso clase Random() – aprenderaprogramar.com */ import java.util.Random;public class Programa { public static void main(String arg[]) { int a, b, c; Random rnd = new Random(); a = (rnd.nextInt(26) + 65); b = (rnd.nextInt(26) + 65); c = (rnd.nextInt(26) + 65); System.out.println(a); System.out.println(b); System.out.println(c); } } |
Comentario: Si quieres puedes usar otra fórmula. Puedes escribir con igual resultado, lo siguiente:
a = rnd.nextInt (90 - 65 + 1) + 65;
b = rnd.nextInt (90 - 65 + 1) + 65;
c = rnd.nextInt (90 - 65 + 1) + 65;
EJERCICIO Nº 1
Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto). Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si queremos jugar otra vez.
Ejemplo de ejecución:
Apuestas por A o por B ? : A
A saca un 9 y B saca un 6 HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8 HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós
Para comprobar si tu solución es correcta puedes consultar en los foros aprenderaprogramar.com.
EJERCICIO Nº 2
Ahora vamos a jugar a la “Lotería primitiva”. Para ello, se pedirá al usuario que introduzca 6 números enteros comprendidos entre el 1 y el 49 ambos incluidos. No estará permitido repetir número. Una vez elegidos los seis números el programa nos mostrará nuestros 6 números así como la combinación ganadora (ordenada de menor a mayor). Esta combinación constará de 6 números entre 1 y 49 elegidos al azar por el programa. Finalmente nos dirá cuántos aciertos hemos tenido y nos preguntará si queremos volver a jugar.
Ejemplo de ejecución:
Elige 6 numeros entre el 1 y el 49.
Elige el numero 1 : 3
Elige el numero 2 : 8
Elige el numero 3 : 14
Elige el numero 4 : 2
Elige el numero 5 : 34
Elige el numero 6 : 38
Numeros Elegidos : 3 8 14 2 34 38
Combinación ganadora : 6 14 21 27 30 48
Has acertado : 1 números
Quieres probar otra vez ? (S/N) : n
Adiós
Para comprobar si tu solución es correcta puedes consultar en los foros aprenderaprogramar.com.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.