一、获取随机数
Java帮我们写好一个类叫Random,这个类可以生成一个随机数。这个类的学习可以参考以前Scanner学习步骤。
案例1:获取范围:0~10的随机数
package com.itheima.test;
//1.导包,IDEA会帮我们自动生成
import java.util.Random;
public class LoopTest5 {
public static void main(String[] args) {
//先获取一个随机数。范围:0~10
//2.创建对象
Random r = new Random();
//3.生成随机数
//判断技巧:
//在小括号中,书写的是生成随机数的范围
//这个范围一定是从0开始的。
//到这个数-1结束
//口诀:包头不包尾,包左不包右
for (int i = 0; i < 100; i++) {
int number = r.nextInt(10);// 表示0 ~ 9之间
System.out.println(number);
}
}
}
案例2:生成随机数范围:1~100的数字
package com.itheima.test;
import java.util.Random;
public class LoopTest6 {
public static void main(String[] args) {
//需求:
//随机数范围:1~100
//创建对象
Random r = new Random();
//生成随机数
int number = r.nextInt(100) + 1;//1 ~ 100
System.out.println(number);
//秘诀
//用来生成任意数到任意数之间的随机数 例如7 ~15
//1.让这个范围头尾都减去一个值,让这个范围从0开始 -7 0~8
//2.尾巴+1 8 + 1 = 9
//3.最终的结果,再加上第一步减去的值。
Random r = new Random();
int number = r.nextInt(9) + 7;// 7 ~ 15
// 0 ~ 8 + 7 => 7 ~ 15
System.out.println(number);
}
}
二、猜数字小游戏
需求:程序自动生成一个1-100之间的随机数字,使用程序实现猜出这个数字是多少?
package com.itheima.test;
import java.util.Random;
import java.util.Scanner;
public class LoopTest7 {
public static void main(String[] args) {
//注意点:
//1.生成随机数的代码int number = r.nextInt(100) + 1;不能写在循环的里面的,否则每一次都会产生一个新的随机数
//2.抽奖机制
//用点券去抽水晶
//保底 360次,如果360次没中,就会送你个水晶
//扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。
//计数器
//用来统计当前已经猜了多少次。
int count = 0;
//分析
// 1. 生成一个1-100之间的随机数字
Random r = new Random();
int number = r.nextInt(100) + 1;
System.out.println(number);
// 2. 猜这个数字是多少
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("请输入你要猜的数字");
int guessNumber = sc.nextInt();
//3 . 判断两个数字给出不同的提示
//猜的数字大了,提示 大了
//猜的数字小了,提示 小了
//猜的数字一样,提示猜中了
count++;
if(count == 3){
System.out.println("猜中了");
break;
}
if(guessNumber > number){
System.out.println("大了");
}else if(guessNumber < number){
System.out.println("小了");
}else{
System.out.println("猜中了");
break;
}
}
}
}