Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LuisM en 30 de Junio 2017, 18:07

Título: Generar números aleatorios en Java. Clase Random. Ejercicio resuelto CU00672B
Publicado por: LuisM en 30 de Junio 2017, 18:07
Hola a todos, paso a dejar el código del ejercicio propuesto en el tema CU00672B del curso básico de programación Java. Desde ya muchas gracias. Saludos. Luis.

Clase principal, metodo main

Código: [Seleccionar]
// Programa para adivinar un numero pseudoaleatorios aprenderaprogramar.com
public class AdivinarNumero {
    public static void main (String [ ] Args) {
        int numeroBuscado = 0;
        Integer tmpInteger = 0;
        EntradaDeTeclado entradaMain = new EntradaDeTeclado();
        char adivino = 'N';
        NumeroAleatorio numero = new NumeroAleatorio();
        numero.generarNumero();
        numeroBuscado = numero.getNumero();
        System.out.println("Trate de adivinar un número oculto de 1 a 100, ingrese un numero:");
        while (adivino =='N') {
            entradaMain.pedirEntrada();
            tmpInteger = tmpInteger.valueOf (entradaMain.getEntrada() );
            if (numeroBuscado==tmpInteger){adivino = 'S' ;} else {
            if (numeroBuscado<tmpInteger){System.out.println("No has acertado: el número es menor. Prueba otra vez");} else {System.out.println("No has acertado: el número es mayor. Prueba otra vez");}}   
        } //Cierre del while exterior
        System.out.println ("Felicitaciones, has adivinado !!!");
    }  }   //Cierre del main y de la clase

Clase que genera un numero aleatorio entre 1 y 100 (ambos inclusivos)
Código: [Seleccionar]
import java.util.Random; //Ejemplo aprenderaprogramar.com
        //Esta clase define un objeto que contienen un numero aleatorio entre 1 y 100
public class NumeroAleatorio {
    //Campos de la clase
       int numeroBuscado = 0;
       public void generarNumero(){
        Random numAleatorio;
        numAleatorio = new Random ();
        numeroBuscado = numAleatorio.nextInt(100)+1;
    }
    public int getNumero() {
        return numeroBuscado;
    } //Cierre del método
} //Cierre de la clase


clase para ingresar por el teclado - clase reutilizada

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java
// Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
    private String entradaTeclado; //Variable de instancia (campo) de la clase
    private int entradaNumero;
    public EntradaDeTeclado ()  { //Constructor
        entradaTeclado="";
        entradaNumero=0;
     //   pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
    } //Cierre del constructor
    public void pedirEntrada ()  {  //Método de la clase         
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado = entradaEscaner.nextLine ();
        } //Cierre del método pedirEntrada
    public void pedirNumero (){
        Scanner entradaEscaner = new Scanner (System.in);
        entradaNumero = entradaEscaner.nextInt ();
    }
    public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada

    public int getNumero() {return entradaNumero;}
   
    public String getPrimeraPalabra ()  {
               for (int i=0; i < entradaTeclado.length() - 1; i++) {
            if (entradaTeclado.substring (i, i+1).equals(" ") ) {     //IMPORTANTÍSIMO: COMPARAMOS CON EQUALS
                return entradaTeclado.substring(0, i+1);         }
        }
        return entradaTeclado;  //Caso de que no se detecte ningún espacio devolvemos lo que haya
    } //Cierre del método getPrimeraPalabra

    public int getLongitud ()  {  //Método de la clase
        return entradaTeclado.length();
    } //Cierre del método getLongitud

} //Cierre de la clase
Título: Re:Generar números aleatorios en Java. Clase Random. Ejercicio
Publicado por: DRANXZ88 en 07 de Julio 2017, 16:49
A que ejercicios pertenece porque en el titulo no figura. Podes leer este link de como poner los títulos del ejercicios gracia.-- :)
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
Título: Re:Generar números aleatorios en Java. Clase Random. Ejercicio
Publicado por: LuisM en 07 de Julio 2017, 18:45
Hola Dranxz88. El ejercio pertenece a la entrega nº72 "Generar números aleatorios en Java. Clase Random y método nextInt. Ejercicio ejemplo resuelto. (CU00672B)". El titulo lo tuve que recortar porque es demasiado largo y evité poner el nro de entrega/clase porque está indicado en las formas de escribir en el foro.
Muchas gracias por tu atención
Saludos
Luis
Título: Re:Generar números aleatorios en Java. Clase Random. Ejercicio resuelto CU00672B
Publicado por: Alex Rodríguez en 29 de Julio 2017, 19:00
Hola LuisM, en el título del tema siempre se deben escribir palabras clave relacionadas con lo que se trata y, en el caso de ejercicios, incluir el código del ejercicio (por ejemplo CU00672B) para facilitar su localización y que las personas que revisan ejercicios puedan ayudarte. Tu ejercicio está bien resuelto, aunque siempre es bueno comparar las soluciones planteadas con las propuestas por otras personas en los foros. Por ejemplo puedes mirar esta solución: https://www.aprenderaprogramar.com/foros/index.php?topic=2277.0

Saludos