Random类可以用来生成随机数字的。
1、使用步骤
(1)导包
import java.util.Random;
(2)创建
Random r = new Random();
(3)使用
1.获取一个随机的int数字(范围是int所有范围,由正负两种):
int num = r.nextInt();
2.获取一个随机的int数字(参数代表了范围,左闭右开):
int num = r.nextInt(3);
实际上代表的含义是:[0,3),即1~2;
2、练习
(1)题目
用代码模拟猜数字小游戏,范围为:[1,100]
(2)思路
1、需要产生一个随机数字,并且不再变化,用到Random的nextInt()方法;
2、需要键盘输入,用到Scanner类的nextInt()方法;
3、需要判断以及提示,用到if语句;
4、循环次数不确定,用到while(true)。
(3)实现代码
import java.util.Random;
import java.util.Scanner;
public class demo01 {
public static void main(String[] args) {
//1.创建Random类的对象,并在[1,100]一个随机数
Random r = new Random();
int randomNum = r.nextInt(100) + 1;//[1,100]
//2.创建一个Scanner类的对象
Scanner sc = new Scanner(System.in);
//3.判断
while (true){
System.out.println("请输入你要猜测的数字:");
//键盘输入猜测的数字
int guessNum = sc.nextInt();
//比较
if (guessNum > randomNum){
System.out.println("太大了,请重试。");
}else if(guessNum < randomNum){
System.out.println("太小了,请重试。");
}else{
System.out.println("恭喜你,答对了!");
break;//猜中,结束循环
}
}
System.out.println("游戏结束啦!");
}
}
4.结果
PS:
- 生成负数的随机数,只需在前面加个负号。
int num = - r.nextInt(6);
// [0 , 6)
- 生成包含正负数的随机数,可在后面减去一个绝对值。
int num = r.nextInt(6)-3;
// [-3 , 3)