Autor Tema: Java. Clase Random. Generar números aleatorios en un rango cómo definir CU00672B  (Leído 2323 veces)

david82

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Esta es mi solución para el ejercicio CU00672B del tutorial Aprende programación Java como si estuviera en primero de aprenderaprogramar.

Código: [Seleccionar]
import java.util.Scanner;

public class EntradaDeTeclado {
private String entrada;
private Scanner entradaTeclado;

public EntradaDeTeclado() {
entrada = "";
entradaTeclado=new Scanner(System.in);
}

public void SetEntrada(){entrada = entradaTeclado.nextLine();}

public String GetEntrada(){return entrada;}

}

Código: [Seleccionar]
import java.util.Random;

public class GenerarAleatorio {
private int numero;
private Random aleatorio = new Random();

public GenerarAleatorio() {
numero = aleatorio.nextInt(100);
System.out.println("Se ha generado un número entre 0 y 100. Intente adivinarlo");
}

public int getAleatorio(){return numero;}
}

Código: [Seleccionar]
public class TestGenerarAl {

public static void main(String[] args) {
GenerarAleatorio adivinar = new GenerarAleatorio();
EntradaDeTeclado entrada = new EntradaDeTeclado();
int miNumero;

entrada.SetEntrada();
miNumero=Integer.valueOf(entrada.GetEntrada());

while(adivinar.getAleatorio()!=miNumero)
{
if(miNumero>adivinar.getAleatorio())
{
   System.out.println("No has acertado: el número es menor. Prueba otra vez");
   entrada.SetEntrada();
}
else if(miNumero<adivinar.getAleatorio())
{
System.out.println("No has acertado: el número es mayor. Prueba otra vez");
entrada.SetEntrada();
}
else
{}
miNumero=Integer.valueOf(entrada.GetEntrada());
}

if(miNumero==adivinar.getAleatorio())
System.out.println("Felicidades! Ha adivinado! El número era "+adivinar.getAleatorio());
}
}
« Última modificación: 02 de Agosto 2017, 19:05 por Alex Rodríguez »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Ejercicio Generar Números aleatorios en Java (CU00672B)
« Respuesta #1 en: 22 de Julio 2017, 20:01 »
Hola David.

El ejercicio pedía crear un número aleatorio entre 1 y 100, y el código lo crea entre 0 y 100.
También recomendarte algún cambio en la clase GenerarAleatorio, el constructor no debe imprimir mensajes por consola ni nada parecido, el constructor tiene que llevar lo necesario para crear un objeto GenerarAleatorio en este caso, es decir, necesita ese mensaje que puedes mostrar desde cualquier otro sitio.
Otro tema que debes cuidar es el nombre que le das a las clases, en este caso la clase representaría a un  número aleatorio, con lo que un nombre como NumeroAleatorio hubiese sido más acertado. GenerarAleatorio quedaría mejor como nombre de un método.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".