Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

solo unas dudas con random.nextInt y math.random

ligeras modificaciones al ejemplo de la maestra, y lo que no puso supongo no es error es para hacernos repasar, gracias.

import java.util.*;

public class Adivina { public static void main(String[] args) {

Scanner suNumero = new Scanner(System.in);

//generar un numero entre 0 y 100 int miNumero = new Random() .nextInt(100) +1;

int intentos = 1;

while (intentos <= 5) {
    System.out.println("Adivina un numero entre 0 y 100 : ");
int tuNumero = suNumero.nextInt();
intentos++;

if (tuNumero == miNumero) { System.out.println("Felicidades, adivinastes en :" + intentos + " intentos!"); // interrumpe el bucle break; } else if (tuNumero < miNumero) { System.out.println("Es menor tu numero"); } else { System.out.println("Es mayor tu numero"); }

} if (intentos == 5) { System.out.println("Van 5 intentos, el numero es: " + miNumero); } } }

 por lo que lei la base de random es 0 y se limita con .nextInt(n) , pero que solo llega a 99  aunque ponga 100 por eso agregue el +1  ,
  mi duda es  que en math.random  se suma 1 ...
  yo suponia que  en random.nextInt() es mas exacto pero es similar digamos el comportamiento? 
  

IAdivina

  el porque me marca 6 intentos  si fueron 5 y  limite a 5...... no me digan...
   vi que hay metodos mas aleatorios ... pero voy paso a paso
1 respuesta
solución!

¡Hola Samuel!

Entiendo tu duda con respecto a Random.nextInt() y Math.random(). La diferencia principal entre estos dos métodos radica en cómo generan números aleatorios.

En el caso de Random.nextInt(), como mencionaste, genera un número aleatorio entre 0 (inclusive) y el número especificado (exclusivo). Es por eso que al usar nextInt(100), obtienes un número entre 0 y 99, y al sumarle 1, ajustas el rango a 1-100.

Por otro lado, Math.random() genera un número aleatorio de punto flotante entre 0.0 (inclusive) y 1.0 (exclusivo). Si necesitas un número en un rango específico, como 1-100, puedes usar una fórmula como Math.random() * 100 + 1 para lograrlo.

En cuanto a la discrepancia en el número de intentos, es posible que el bucle esté ejecutando una iteración adicional. Podrías revisar la lógica del bucle y asegurarte de que se detenga después del quinto intento.

Espero que esto aclare tus dudas. Si necesitas más ayuda con métodos aleatorios o cualquier otro tema, no dudes en preguntar.

¡Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!