81
Aprender a programar desde cero / Ejercicio CU00672B numeros aleatorios java clase random ejercicio resuelto
« en: 04 de Noviembre 2015, 17:43 »
Hola,
Adjunto mi solución al ejercicio del tema "CU00672B numeros aleatorios java clase random ejercicio resuelto" para su corrección:
Espero vuestros comentarios,
Muchas Gracias,
Adjunto mi solución al ejercicio del tema "CU00672B numeros aleatorios java clase random ejercicio resuelto" para su corrección:
Código: [Seleccionar]
// EJERCICIO DE UTILIZACIÓN DE LA CLASE RANDOM
// ----> CU00672B numeros aleatorios java clase random ejercicio resuelto ejemplo.pdf
// Importación de clases Necesarias
import java.util.Scanner; //Importación de la clase Scanner para intro valores por teclado
import java.util.Random; // Importación clase Random para generar nums. Aleatorios
public class AdivinaNumero_CU00672B {
public static void main (String [ ] Args) {
Scanner entradaScaner = new Scanner (System.in); // Creación del objeto Scanner para introducir los números
Scanner entradaScaner2 = new Scanner (System.in); // Creación del objeto Scanner para preguntar si se quiere volver a jugar o no
int valorIntro = 0; // Incicialización de una Variable para guardar el num. convertido del dato intro por teclado
String jugar = "S"; // Inicialización de una Variable para ver si se quiere volver a jugar o no
// Bucle que se repite mientras se conteste "si" a volver a jugar
do {
int numAleatorio = new Random().nextInt(100)+1; // Se inicializa una variable en la que se intro un numero aleatorio entre 1 y 100
int intentos = 0; // Incicialización de una Variable para guardar el num. de intentos hasta adivinar el num. aleatorio
// Mensaje de comienzo de la ronda para adivinar el número aleatorio creado
System.out.println("Se ha generado un número aleatorio entero entre 1 y 100.");
System.out.print("Intente Adivinarlo: ");
// Bucle que se repite mientras no se adivine el número
do {
// Se convierte el valor introducido de String a int
valorIntro = entradaScaner.nextInt();
// Se suma 1 al num. de intentos
intentos++;
// Se ccmprueba si el num. intro no es igual al generado aleatoriamente para genera mensaje de error
if (valorIntro != numAleatorio){
// Se compueba si el num. intro es menor o mayor que el generado aleatoriamente para generar el mensaje correspondiente
if (numAleatorio < valorIntro){
System.out.println("No ha acertado: el número es menor.");
} else {
System.out.println("No ha acertado: el número es mayor.");
}
// Se vuelve a solicitar otro número
System.out.print("Pruebe otra vez: ");
} // fin del if una vez generados los mensajes de que no se ha adivinado
} while (valorIntro != numAleatorio); // fin del Do...While. Se sale cuando en num. intro es igual al generado aleatoriamente
// Mensaje de que se ha acertado
System.out.println("Ha Acertado. ¡¡¡FELICIDADES!!!. ");
System.out.println("Lo ha conseguido en " + intentos + " intentos.");
// Preguntar si se quiere volver a jugar
System.out.print("¿Quiere volver a jugar? S/N :");
jugar = entradaScaner2.nextLine();
// Bucle para comprobar que solo se responde "S" o "N"
while(!jugar.equalsIgnoreCase("s") && !jugar.equalsIgnoreCase("n")){
System.out.print("Respuesta invalida. Introduzca S o N :");
jugar = entradaScaner2.nextLine();
}
// Se imprime una línea en blanco
System.out.println("");
} while (jugar.equalsIgnoreCase("s")); // Fin del Do...While porque se ha contestado que no se quiere volver a jugar
// Mensaje de finalización del programa
System.out.println("FIN. Muchas Gracias por haber jugado");
} // Fin del Main
} // Fin de la Clase
Espero vuestros comentarios,
Muchas Gracias,