9.3 Random类
9.3.1 使用方法
Random类用来创建随机数
使用方法:
- 导包
import java.util.Random - 创建
Random r = new Random(); - 使用
3.1 获取一个随机的int数字(范围为int的所有范围,有正负两种)
int num = r.nextInt();
3.2 获取一个随机的int数字(参数代表范围,左闭右开区间)
int num = r.nextInt(3);
实际代表的含义为:[0,3),也就是0~2
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(2);
System.out.println("随机数为:" + num);
}
public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 100; i++) {
int num = r.nextInt(10);
System.out.println(num);
}
}
9.3.2 简单例子
题目描述:
根据int变量n的值,来获取随机数字,范围[1,n]
思路:
- 定义一个int变量n,随意数字
- 要使用Random:三个步骤,导包、创建、使用
- 若写n,则将产生的结果+1,即满足要求
- 打印数字
public static void main(String[] args) {
int n = 5;
Random r = new Random();
for (int i = 0; i < 100; i++) { // 100.fori
int num = r.nextInt(n) + 1;
System.out.println(num);
}
}
9.3.3 猜数字小游戏
猜数字小游戏:
猜大猜小都有提示,直到猜中
思路:
- 首先需要产生一个随机数字,并且产生之后不再变化,利用Random的nextInt方法
- 需要键盘输入,使用Scanner
- 获取键盘输入,使用Scanner中的nextInt
- 利用(if)判断
如果大了,提示大了
如果小了,提示小了
如果对了,提示对了,退出 - 重试就是再来一次,循环次数不确定,使用while(true)
public static void main(String[] args) {
int randomNumber = new Random().nextInt(100) + 1; // 此处使用了匿名函数
Scanner sc = new Scanner(System.in);
// 一键注释:Ctrl + /
// int i = 0;
// while (true) {
// System.out.println("请输入你的数字:" );
// i++;
// int guessNum = sc.nextInt(); // Alt + Enter
// if (guessNum > randomNumber) {
// System.out.println("输入的值大了");
// } else if (guessNum < randomNumber) {
// System.out.println("输入的值小了");
// } else {
// System.out.println("第" + i + "次输入正确");
// break;
// }
// System.out.println("这是猜的第" + i + "次");
// System.out.println("-------------");
// }
System.out.println("输入101可以退出游戏");
for (int i1 = 1; i1 < 10; i1++) {
System.out.println("请输入你的数字:" );
int guessNum = sc.nextInt(); // Alt + Enter
System.out.println("-------------");
if (guessNum == 101) {
System.out.println("退出游戏成功");
break;
}
if (guessNum > randomNumber) {
System.out.println("输入的值大了");
} else if (guessNum < randomNumber) {
System.out.println("输入的值小了");
} else {
System.out.println("第" + i1 + "次输入正确");
break;
}
System.out.println("这是猜的第" + i1 + "次");
System.out.println("你还有" + (10 - i1 - 1) + "次机会");
}
}