一、案例介绍
我们在日常生活中,总会看见或者亲身体会过数字炸弹游戏。
猜数字案例具有的功能呢?取值数字1~100之中的一个数字,说中数字的人需要收到响应的惩罚。
游戏操作如下:
- 游戏后台随机自动生成1~100其中的一个整数数字,然后用户通过键盘输入数字。
- 如果玩家说的数字和后台生成的数字一样,则将会接受响应的惩罚。
- 如果不一样将会再次生成新的范围:例如:后台数字为31,玩家说出数字40,则新的范围变为1~40,如果玩家说出数字11,则新的范围变为11~100.
- 直至玩家说出数字和后台生成数字一样,游戏结束。
二、需要知识点
1.Random类
2.Scanner类
3.循环结构语句
4.选择结构语句
三、案例需求分析
数字踩雷分析如下:
1.后台通过Random类随机生成1~100之间的一个整数。
2.用户通过Scanner类使用键盘输入1个整数。
3.通过语句对用户输入的整数进行判断。
四、实现代码
public class Demo { public static void main(String[] args) { //1.通过Random类中方法nextInt(),生成一个1-100之间的随机数randomNumber int randomNumber = new Random().nextInt(100); System.out.println("随机数已生成!"); //需要定义边界0和100 int frontNumber = 0; int behindNumber = 100; //2.输入用户所猜的数字enterNumber System.out.println("----请输入您猜的数字:----"); Scanner scanner = new Scanner(System.in); int enterNumber = scanner.nextInt(); //3.通过while循环,进行猜数字对错判断 while (enterNumber != randomNumber){ if (enterNumber > randomNumber) { //若猜的数大于炸弹数字,那么将猜的数作为最大边界 System.out.println("在"+ frontNumber + "~" + enterNumber + "之间"); behindNumber = enterNumber; System.out.println("继续猜:"); enterNumber = scanner.nextInt(); } else { //若猜的数小于炸弹数字,那么将猜的数作为最小边界 System.out.println("在"+ enterNumber + "~" + behindNumber +"之间"); frontNumber = enterNumber; System.out.println("继续猜:"); enterNumber = scanner.nextInt(); } } //3.游戏结束 if (enterNumber == randomNumber) { System.out.println("\\\\\\!!!!!!!!!!!!!!!//////"); System.out.println("------!!!!!BOOM!!!!!!------"); System.out.println("//////!!!!!!!!!!!!!!!\\\\\\"); System.out.println("炸弹数字就是"+ randomNumber); } } }