/**
* 生成给定范围内的随机数
*
*/
public class RadomNumber {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入起始值:");
int start = sc.nextInt();
System.out.println("请输入结束值:");
int end = sc.nextInt();
for (int i = 0; i < 100; i++) {
System.out.println(getRandomDoubleNumber(start, end));
}
}
/**
* 获取从start到end范围的任意整数值,[start,end]
*
* @param start
* @param end
* @return
*/
public static int getRandomNumber(int start, int end) {
return start + (int) (Math.random() * (end - start + 1));
}
/**
* 获取从start到end范围的任意值,[start,end)
*
* @param start
* @param end
* @return
*/
public static double getRandomDoubleNumber(int start, int end) {
return start + (Math.random() * (end - start));
}
}
Random类生成随机数,构造函数有两种:
new Random()
new Random(long seed)
指定seed的话,生成的随机数是固定的。不指定seed的话,用的是当前系统时间的毫秒值做seed,所以每次会产生不同的随机数。
public static void main(String[] args) {
// Random r = new Random();
Random r = new Random(1000);
for (int i = 0; i < 10; i++) {
System.out.println(r.nextInt());
}
}