Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Rocio76 en 24 de Septiembre 2019, 10:13
-
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);
-
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).
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));
}
}