Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: matru en 15 de Marzo 2016, 03:04

Título: Java generar números aleatorios en un rango entre dos valores ejemplo CU00672B
Publicado por: matru en 15 de Marzo 2016, 03:04
Solución propuesta para el ejercicio CU00672B del curso de programación Java desde cero:

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

public class AdivinaElNumero{

    public static void main(String []args){

        Scanner entrada = new Scanner(System.in);
        Random numRandom = new Random();
        Integer tmp = numRandom.nextInt(100);
        boolean desicion = false;
        int num;
        System.out.println("Se a generado un numero aleatorio entero entre 1 y 100, intente adivinarlo");
        while(desicion == false){

            num = Integer.valueOf(entrada.nextLine());
            if(tmp < num){

                System.out.println("No has acertado: el numero es menor.\nPrueba otra vez");
            }else if(tmp > num){

                System.out.println("No has acertado: el numero es mayor.\nPrueba otra vez");
            }else{

                desicion = true;
                System.out.println("Felicidades, Haz Acertado");
            }

        }
    }
}


Título: Re:EJERCICIO (CU00672B) Numeros aleatorios
Publicado por: Enzo en 15 de Marzo 2016, 14:39
Hola Matru,

Aunque, a priori, el programa parece que funciona bien, según la información del método realmente esta generando un aleatorio entre 0 y 99:
Citar
nextInt(int n) Devuelve un pseudoaleatorio de tipo int comprendido entre cero (incluido) y el valor especificado (excluido).

Seguro que se te ocurre como hacer para que el número este entre el 1 y el 100. ¿Verdad?.

Un Saludo,

Título: Re:EJERCICIO (CU00672B) Numeros aleatorios
Publicado por: matru en 15 de Marzo 2016, 18:11
pienso que si, pero quería la opinión de usted si con estas sentencia controlaría eso?

Integer tmp = (numRandom.nextInt(100)+1);
Título: Re:Java generar números aleatorios en un rango entre dos valores ejemplo CU00672B
Publicado por: Enzo en 17 de Marzo 2016, 18:09
Hola Matru,

Perfecto. De esa forma le sumas 1 al número generado y siempre estará en el rango entre 1 y 100.

A por otro,

Y, por favor, no me llames de usted.

Un Saludo,