1-用处:
/**
* Random的使用:用来生成随机数字
*
*/
2-案例一:获取指定区间的数 比如1-100
@Test
public void testA(){
Random r = new Random();
for(int i =01;i<=10;i++){
int num = r.nextInt(100)+1; //随机生成1-100
System.out.println("循环10遍随机生成的数字是:"+num);
}
}
3-案例二:随机生成1-n的数字
/**
* 案例二:随机生成1-n的数字
* 分析:
* 1.实例化一个random对象
* 2.调用random对象中的nextInt()方法指定区间 如r.nextInt(100) 生成0-99之间的随机数
* 3.如何生成1-100之间的随机数 只需要r.nextInt(100)+1
*/
@Test
public void testB(){
//1.实例化一个random对象
Random r = new Random();
//2.循环10遍输出随机数
for(int i=0;i<10;i++){
//2.1)定义一个变量 接收每一次随机生成的数字 随机数字整体区间加1
int next = r.nextInt(100)+1;
//2.2).输出随机数字
System.out.println("第"+(i+1)+"次循环生成的随机数字是:" + next);
}
}
4-案例三:猜数小游戏:
public class Demo01Random {
/**
* 案例三:猜数小游戏:
* 分析:
* 1.实例化一个键盘对象
* 2.提示用户输入
* 3.随机生成一个随机数 注意:随机生成的数字是不变的
* 4.1)实例化一个random对象
* 4.2)对象调用nextInt(100)+1方法随机生成1-100之间任意的数
* 4.定义一个变量 count 用来判断用户猜数的猜数 初始化count=0
* 5.获取用户输入值
* 6.用户输入的数与随机数进行比较
* 6.0)如果需要使用多次判断 需要循环判断
* 6.1)输入值大于随机数 提示输入值过大
* 5.1.1)重新输入 再进行比较
* 5.1.2)超过三次 终止游戏 游戏失败
* 5.1.3)三次内猜数成功 提示恭喜 猜数成功
* 6.2)输入值小于随机数 提示输入值过小
* 5.2.1)重新输入 再进行比较
* 5.2.2)超过三次 终止游戏 游戏失败
* 5.2.3)三次内猜数成功 提示恭喜 猜数成功
* 6.3)第一次就猜数成功!提示amazing!一次就中
*/
private static void guessNum(){
//1.定义一个扫描器对象
Scanner sc = new Scanner(System.in);
//2.提示用户输入数字
System.out.println("请输入您要猜的数字(1-100):");
//3.随机生成一个随机数
//3.1)实例化一个random对象
Random random = new Random();
//3.2)生成指定区间的随机数 1-100
//3.2.1)定义变量接收随机数
int num = random.nextInt(100)+1;
//4.定义一个变量 count 用来判断用户猜数的猜数 初始化count=0
int count = 0;
//5.获取用户输入值
while(true){
int userData = sc.nextInt();
//5.1)随机数与用户输入的数进行比较
if (userData > num) {
System.out.println(userData+"这个值太大, 您输入的值过大!数据小一点!");
count++;
} else if (userData < num) {
System.out.println(userData+"这个值太小, 您输入的值过小!数据大一点!");
count++;
} else {
System.out.println("恭喜你!猜中了! 这个数为"+num);
break;
}
//5.2)判断猜数的次数是否大于10次
if(count>10){
System.out.println("不好意思!您已经猜数10次,游戏失败!");
}
}
}
public static void main(String[] args) {
guessNum();
}
}