Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: matru en 15 de Marzo 2016, 03:04
-
Solución propuesta para el ejercicio CU00672B del curso de programación Java desde cero:
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");
}
}
}
}
-
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:
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,
-
pienso que si, pero quería la opinión de usted si con estas sentencia controlaría eso?
Integer tmp = (numRandom.nextInt(100)+1);
-
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,