es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lógica de bucle for de nodejs para impresión aleatoria Para generar números aleatorios en Node.js y luego imprimirlos en la consola, puede utilizar el siguiente código: “` for (var i = 0; i < 10; i++) { var randomNumber = Math.floor(Math.random() * 100) + 1; console.log(randomNumber); } ``` Este código generará 10 números aleatorios entre 1 y 100 y los imprimirá en la consola. Puede ajustar el número de veces que se ejecuta el bucle cambiando el valor de `10` en la línea 1, y puede ajustar el rango de números aleatorios cambiando los valores de `1` y `100` en la línea 2. Tenga en cuenta que la función `Math.random()` genera un número aleatorio entre 0 y 1 (exclusivo), por lo que al multiplicar por 100 y agregar 1, estamos generando un número aleatorio entre 1 y 100.

Pregunta

Tengo un bucle for, dentro del cual debo imprimir 160 mensajes, 62 veces cada mensaje, pero de manera aleatoria:

ejemplo:

mensaje 1
mensaje 6
mensaje 178
mensaje 1
mensaje 3789
mensaje 1

Pensé en utilizar dentro del for 160 la instrucción if como sigue:

for(int i = 0; i<9920; i++){
  if(i<=62){
    imprimir mensaje
  }else if(i>63 && i<=124){
    imprimir mensaje
  }
....
}  

Pero no sé si es la mejor solución y tampoco sé cómo hacer que sea aleatorio.

¿Alguien puede ayudarme?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Podría usar la clase Random en Java para generar un número aleatorio entre 1 y 160, y luego utilizar ese número para imprimir el mensaje correspondiente.

    Por ejemplo:

    Random rand = new Random();
    for(int i = 0; i<9920; i++)
      int randomNumber = rand.nextInt(160) + 1;
      if(randomNumber == 1)
        imprimir mensaje 1
       else if(randomNumber == 6)
        imprimir mensaje 6
       else if(randomNumber == 178)
        imprimir mensaje 178
       else if(randomNumber == 3789)
        imprimir mensaje 3789
    

Comments are closed.