第3章 猜数字案例
3.1 案例介绍
我们在日常生活中,经常与朋友们玩猜数字的游戏,非常的有趣。现在我们通过java把这个猜数字游戏编写出来。
猜数字案例是要完成什么样的功能呢?顾名思义,这个游戏就是你出个数字、我来猜。
游戏操作如下:
后台预先生成一个1-100之间的随机数,用户键盘录入猜数字
如果猜对了,打印“恭喜您,答对了”
如果猜错了
猜大了:打印“sorry,您猜大了!”
猜小了:打印“sorry,您猜小了!”
直到数字猜到为止
在案例开始之前,我们先要学习如下知识点:
随机数类Random
选择结构if
循环结构while
3.2 案例需求分析、
猜数字案例的需求如下:
后台预先生成一个1-100之间的随机数,用户键盘录入猜数字
如果猜对了,打印“恭喜您,答对了”
如果猜错了
猜大了:打印“sorry,您猜大了!”
猜小了:打印“sorry,您猜小了!”
直到数字猜到为止
我们经过分析,得出如下的分析结果:
1.通过Random类中方法nextInt(),生成一个1-100之间的随机数
2.输入猜的数字
3.通过while循环,进行猜数字对错判断
猜对,跳出循环,游戏结束
猜错了,根据结果,给出提示,接着猜数字,游戏继续
如果猜大了,打印sorry,您猜大了!继续下一次循环
如果猜小了,打印sorry,您猜小了!继续下一次循环
/*
实现猜数字的小游戏:
步骤:
1.后台随机产生一个1-100之间的随机数,让用户键盘输入数字
2.结果有三种情况:
2.1猜对了
2.2猜大了
2.3猜小了
随机数类:Random
选择结构:if来划分三种结果
循环结果while:来让用户不断的键盘输入数字猜
键盘输入类:Scanner
Random使用方式:
1.import导包:所属包java.util.Random
2.创建实例格式:Random 变量名 = new Random();
Scanner使用步骤:
1.导包:import java.util.Scanner;
2.创建对象实例:Scanner sc = new Scanner(System.in);
3.调用方法:
int i = sc.nextInt(); 用来接收控制台录入的数字
String s = sc.next(); 用来接收控制台录入的字符串
*/
//import导包:所属包java.util.Random
import java.util.Random;
//import导包:所属包java.util.Scanner
import java.util.Scanner;
public class GuestNumber_2{
public static void main(String[] args){
System.out.println("开始猜数字游戏");
System.out.println("请输入1-100之间的随机数");
//随机数类:Random
//创建实例格式:Random 变量名 = new Random();
Random ran = new Random();
//public int nextInt(int maxValue) 产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;
int realNumber = ran.nextInt(100) + 1;
//键盘输入类:Scanner
//创建对象实例:Scanner sc = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
while(true){
int guessNumber = sc.nextInt();
//将猜的数字与实际随机产生数字进行比较,打印三种结果
if(guessNumber > realNumber){
System.out.println("猜大了");
}else if(guessNumber < realNumber){
System.out.println("猜小了");
}else{
//猜对了需要结束这个循环
System.out.println("猜对了");
break;
}
}
}
}