项目介绍
猜数字游戏是一个简单,有趣的小游戏。游戏者通过输入一个指定区间的数字,与系统产生的随机数 进行对比,然后输出相应的结果。
游戏运行时产生一个 0-1000 之间的随机整数,要求用户从控制台输入数字,若输入的数字比产生的 数字小,则输出:“有点小了,需要再大一点!”;若输入的数字比产生的数字大,则输出:“有点大了,需要再小一点!”, 若输入的数字和产生的数字相等,则输出:“恭喜您猜对了!”然后退出程序。成功的结果如下图:
用户要是猜了 10 次还未猜对,则输出:“输入有误,请重新输入数字!”然后退出程序如下图:
项目需求分析
通过项目的任务和要求,我们将项目的具体需实现的功能分析如下:
- 游戏运行时产生一个0-1000之间的随机整数,要求用户从控制台输入数字,最多可输入10次。
- 若输入的数字比产生的数字小,则输出:“有点小了,需要再大一点!”; 若输入的数字比产生的数 字大,则输出:“有点大了,需要再小一点!”,若输入的数字和产生的数字相等,则输出:“恭喜您猜对了!”然后退出程序;
- 若用户猜了10次还未猜对,则输出:“输入有误,请重新输入数字!”然后退出程序。
项目设计思路
了解需求后,接下来我们分析一下项目的设计思路:
- 首先我们要借助 Java API 提供的 Random 类来产生一个 1 到 1000 的随机整数,并提示用户输入一个 1-1000 随机整数。
- 然后定义一个 int count = 10,编写 while (–count >= 0) {}方法用来表示程序最多可猜测 10 次。循环 体内通过 System.in 从控制台输入,并通过 nextLine()方法读取下一行,等待用户输入一个文本行并且回车。
- 接下来通过 if 语句将输入数与随机数进行比较,若输入的数字比产生的数字小,则输出:“有点小了,需要再大一点!”;若输入的数字比产生的数字大,则输出:“有点大了,需要再小一点!”,若输入的数字和产生的数 字相等,则输出:“恭喜您猜对了!”并通过 break 语句跳出循环,游戏结束。
- 最后为了防止用户输入的不是数字,需要将输入的数字转换为整数,并通过 try{}catch(){}语句对判 断方法进行异常控制,如果输入的不是数字,则系统会输出“输入有误,请输入数字!”。当系统循环 10 次以后,仍然没有猜中,则控制台会输出"太笨啦,下次再来吧!"
代码如下(示例):
package m1014;
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
Guess g = new Guess();
g.guess();
}
public void guess() {
Random r = new Random();
int i = r.nextInt(1000); // 产生0~1000的随机整数
System.out.println("请输入一个0-1000之间的整数:");
int count = 10;
while (--count >= 0) {
Scanner p = new Scanner(System.in);// 键盘录入
String s = p.nextLine();
// 异常控制,防止用户输入的不是数字
try {
int num = Integer.parseInt(s);
if (num == i) {
System.out.println("恭喜您猜对了!");
break;
} else if (num < i) {
System.out.println("有点小了,需要再大一点!");
} else {
System.out.println("有点大了,需要再小一点!");
}
} catch (Exception e) {
System.out.println("输入有误,请重新输入数字!");
}
}
if (count <= 0) {
System.out.println("太笨啦,下次再来吧!");
}
}
}
项目总结
本项目可以通过使用ramdom模块来进行有趣的数学设计,而且还能加强我们的动手能力,让大家可以更深层次地认识到 Java 及其强大的 功能。