Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 09 de Junio 2015, 03:59

Título: Java ejemplo generar números aleatorios con Random y nextInt Ejercicio CU00672B
Publicado por: DRANXZ88 en 09 de Junio 2015, 03:59
Citar
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

Código: [Seleccionar]
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

Código: [Seleccionar]
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

Código: [Seleccionar]
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
Título: Re:Ejercicios Cu00672B de java
Publicado por: Dan_SB en 09 de Junio 2015, 05:54
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!