int max = 50;
int min = 1;
1. Uso de Math.random()
double random = Math.random() * 49 + 1;
or
int random = (int)(Math.random() * 50 + 1);
Esto le dará valor de 1 a 50 en caso de int o 1.0 (inclusive) a 50,0 (exclusivo) en caso de doble
¿Por qué? método
aleatorio() devuelve un azar número entre 0,0 y 0,9 ..., que multiplica por 50, por lo que el límite superior se convierte en 0,0-49,999 ... cuando se agrega 1, se convierte en 1,0-50,999. .., ahora cuando truncas a int, obtienes 1 a 50. (gracias a @rup en comentarios). leepoint's impresionante reseña en ambos enfoques.
2. Uso de la clase Random en Java.
Random rand = new Random();
int value = rand.nextInt(50);
Esto le dará valor de 0 a 49.
Para 1 a 50: rand.nextInt((max - min) + 1) + min;
Source de alguna genialidad de Java aleatoria.
Sería mejor utilizar Random en vez de Math.random. Aleatorio es más eficiente y menos sesgado. – kroiz
https://xkcd.com/221/ –