Autor Tema: genererar numeros con Math.random entre dos valores o en rango determinado Java  (Leído 7114 veces)

Rocio76

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola, mi pregunta es: ¿cómo se genera un numero aleatorio entre -8 y 0 , cero no inclusive, y entre -10 y 3 , -10 no inclusive, y entre 2 y 3 , 2 no inclusive?

Yo tengo esto pero no me sale el numero aleatorio negativo, ¿eso como se hace?

//genero un aleatorio entre 3 y -10 para poder hacer el ejecicio
int rango;

//(int)Math.random()*(num_maximo-num_minimo)-min
        b=(int)(Math.random()*(3-10)+10;
     
        String resul;
        //Entre -8 y 0, 0 no incluido
        r=(b<0)?"-8 y 0":" -8 y 0";
        System.out.println(r);

        //Entre -10 y 3,  -10 no incluidos
        r=(b<-9 && b<3)?"-10 y 3":"-10 y 3";
        System.out.println(r);

        //Entre 2 y 3, 2 no incluido
        r=(b<3)?"2 y 3":" 4 y 5";
        System.out.println(r);
       
« Última modificación: 23 de Octubre 2020, 14:17 por Alex Rodríguez »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re:genererar numeros con Math.random
« Respuesta #1 en: 24 de Septiembre 2019, 16:12 »
Hola.

Aquí te dejo un método para generar aleatorios entre dos valores, más un método main() para ponerlo a prueba.
El método recibe dos parámetros:
desde, valor inicial que queda excluido.
hasta, valor final que queda incluido.

Los valores han de pasarse en orden numérico, es decir, si un valor es negativo y el otro positivo, el negativo va primero (en el desde).

Código: [Seleccionar]
public class RandomNeg {

static int generaNumeros(int desde, int hasta) {
return (int)(Math.random()*(hasta-desde+1)+desde);
}

public static void main(String[] args) {
System.out.println("Generando 30 números desde -8 hasta 0...");
for (int i = 0; i < 30; i++)
System.out.println(generaNumeros(-8, 0));

System.out.println("\n----------------------------\n");

System.out.println("Generando 30 números desde -10 hasta 3...");
for (int i = 0; i < 30; i++)
System.out.println(generaNumeros(-10, 3));
}
}
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".