题意整理。
- 要求生成一个[1,6]之间的随机整数。
方法一(利用random的nextInt()方法)
1.解题思路
- 首先通过random.nextInt(6)获取[0,6)之间的随机整数,即[0,5]之间的随机整数。
- 然后加1,即可得到[1,6]之间的随机整数。
动图展示:
2.代码实现
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int seed = scanner.nextInt();
Random random = new Random(seed);
//通过random.nextInt(6)获取[0,6)之间的随机整数,然后加1,即可得到[1,6]之间的随机整数
System.out.println(random.nextInt(6)+1);
}
}
}
3.复杂度分析
- 时间复杂度:只需调用一次Random的nextInt(),所以时间复杂度为。
- 空间复杂度:不需要额外的空间,所以空间复杂度为。