java生成随机数(Random类 和 Math类)
Random类
- 生成0-99之间的随机数(包括0和99)
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(100);
System.out.println(a);
}
}
2.生成1-100之间的随机数(包括1和100)
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(100) + 1;
System.out.println(a);
}
}
3.随机生成两位整数
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(90) + 10;
System.out.println(a);
}
}
4.随机生成三位整数
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(900) + 100;
System.out.println(a);
}
}
5.生成任意区间的随机数
int randNumber =rand.nextInt(MAX - MIN + 1) + MIN;
// randNumber 将被赋值为一个 MIN 和 MAX 范围内的随机数
生成区间 [64,128] 中随机值
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(65) + 64;
System.out.println(a);
}
}
Math类
Math类的random()方法可以生成大于等于0.0、小于1.0的double型随机数。
(int)(Math.random()*n); //生成大于等于0小于n之间的随机数
m+(int)(Matn.randon()*n); //生成大于等于m小于m+n(不包括m+n)之间的随机数
生成随机字符
(char)(‘a’+Math.random()*(‘z’-‘a’+1)); 随机生成a~z之间的字符
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
char a = (char) ('a'+Math.random()*('z'-'a'+1));
System.out.println(a);
}
}
}