随机数的使用是比较常见的,但是如何在给定的范围内生成一个随机数却是一件比较头疼的事,先上代码再说事:
import java.util.Scanner;
public class Main {
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++) {
int num = getRandom(start, end);
System.out.println(num);
}
}
private static int getRandom(int start, int end) {
int number = (int) (Math.random() * (end - start + 1)) + start;
return number;
}
}
说明如下;
它的思想来源源自于生成100以内的随机数的公式:
int num = Math.random()*100+1
显然100是结束数字,1是开始数字,但是当生成的数字是200-300之内时,显然不合适,查找资料后就发现如此书写。