Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 09 de Junio 2015, 03:59
-
Crea un programa Java que permita “jugar a adivinar un número” como se expone a continuación. El programa debe iniciarse indicando “Se ha generado un número aletatorio entero entre 1 y 100, intente adivinarlo”. El usuario introducirá un número y si el número aleatorio generado por el ordenador es menor deberá indicarse “No has acertado: el número es menor. Prueba otra vez”. Si el usuario introduce un número menor que el número aleatorio deberá indicarse “No has acertado: el número es mayor”. El programa terminará cuando el usuario introduzca el número aleatorio que había escogido el ordenador.
clase Generador de teclado
package ejercicioscu00672b;
import java.util.Scanner;
public class GestionarEntradaDeTeclado {
private String entradaTeclado;
Scanner sc = new Scanner(System.in);
public GestionarEntradaDeTeclado() {
entradaTeclado = "";
}
public String recogerNumero() {
entradaTeclado = sc.nextLine();
return entradaTeclado;
}
public String getEntrada() {
return entradaTeclado;
}
}
Clase para generar numero aleatorio
package ejercicioscu00672b;
import java.util.ArrayList;
import java.util.Random;
public class GeneradorNumeroAleatorio {
private ArrayList<Integer> serieAleatoria;
//Constructor
public GeneradorNumeroAleatorio() {
serieAleatoria = new ArrayList<Integer>();
//Inicializamos el ArrayList lleno de ceros
for (int i = 0; i < 100; i++) {
serieAleatoria.add(i + 1);
}
} //Cierre del constructor
/*public void listarNumeroGenerado() {
for (int i = 0; i < serieAleatoria.size(); i++) {
System.out.println("valor numero--> " + serieAleatoria.get(i));
}
}*/
int numeroAleatorio(GeneradorNumeroAleatorio numeroGenerado) {
Random numAleatorio = new Random();
int numero = numAleatorio.nextInt(100);
//System.out.println("numero--> " + numero);
return numero;
}
}
clase principal main
package ejercicioscu00672b;
public class EjerciciosCu00672B {
public static void main(String[] args) {
GeneradorNumeroAleatorio numeroGenerado = new GeneradorNumeroAleatorio();
GestionarEntradaDeTeclado numeroRecogido = new GestionarEntradaDeTeclado();
// numeroGenerado.listarNumeroGenerado();
// numeroGenerado.numeroAleatorio(numeroGenerado);
int continuar = numeroGenerado.numeroAleatorio(numeroGenerado);
// System.out.println("continua-->" + continuar);
int entrada = 0;
System.out.println("Se ha generado un número aletatorio entero entre 1 y 100, intente adivinarlo");
do {
System.out.println("Ingrese un numero del 1 al 100: ");
entrada = Integer.valueOf(numeroRecogido.recogerNumero());
if (continuar < entrada) {
System.out.println("No has acertado: el número es menor. Prueba otra vez");
} else if (continuar > entrada) {
System.out.println("No has acertado: el número es mayor");
} else {
System.out.println("Haz acertado sos el ganador");
}
} while (continuar != entrada);
}
Para probar y no estar ingresando mucho número buscando el generado podes des-comentar lo que está comentado ahí muestra el numero que se ha generado
-
Hola DRANX
Esta bueno tu ejercicio, buena estrategia de prueba, de decirte cual numero era la que la maquina eligió. Por cierto, porque me cuenta del 1 al 100?
El ejercicio, por lo tanto esta perfecto, saludos!