1. 开篇简介
嗨,大家好!!!『』 最近『马上』就要『过年』了,先祝大家『新年快乐』,『万事如意』,下一年『会更好』。今天给大家分享的是一个『猜数字』的『小游戏』,这款小游戏啊,会给你一点『小提示』,让你『猜的更快』。这次,我们猜的是『1-100之间』的『数字』。最后呢,我也会给大家说一个很快能猜到正确数字的方法,而这个方法的名字,叫做:『二分查找法』。
2. 需求简介
说起这个需求,其实也比较简单的,但是,在这里我们还会说一下,我们是.会给出的相应的提示。
- 下边我们先说需求:
需求:程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
- 当猜错的时候根据不同情况给出相应的提示
- 如果猜的数字比真实值数字大了,提示你猜的数据大了
- 如果猜的数字比真实值数字小了,提示你猜的数据小了
- 如果猜的数字等于真实值数字了,提示你猜得对了
3. 思路分析
现在的,我们还是先来『捋捋』我们的『思路』,让我们的『脑回路』变得更『清晰』
- 要完成猜数字的游戏,首先需要『有一个』要猜的『数字』,使用『随机数』生成该数字,『范围1到100』
- 因为『无法预知』几次能猜中,因此猜数字这个操作应该是反复进行的,需要使用『while循环』
- 使用程序实现猜数字,每次均要输入猜测的数字值,需要使用『键盘录入实现』
4.『比较』 输入的数字和系统产生的数据,需要使用分支语句。这里使用『if…else…if格式』
4. 步骤讲解
再看完思路分析之后呢,我们再来看看,对于这个『游戏』,我们该『如何完成』。下边,就是完成的『步骤描述:』
- 『使用Random类』,来实现『生成1-100以内』的随机数number
- 使用『循环多次输入』
- 『使用Scanner类』,实现从『键盘录入数字』
- 『比较』输入的数字和随机数字是否相同的输出
- 记得要用『break』跳出『while循环』
5. 代码实现
最后,当然也就是『代码的实现』了,大家『心心念念』的代码终于在最后要出现了。
public static void main(String[] args) {
Random random = new Random();
int number = random.nextInt(100) + 1;
while(true) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你猜的数字");
int guessNumber = input.nextInt();
if (guessNumber == number) {
System.out.println("你猜对了");
break;
}else if(guessNumber>number){
System.out.println("你猜的大了");
}else {
System.out.println("你猜的小了");
}
}
}
6. 如何更快猜到数字的方法
在这里,我们大家说一个『二分查找』,这样,我们就可以很快地找到我们想要猜的数字了,在开始使用这个方法之前,它需要先把一组数字按照『升序』或者『降序』先排列。
- 先把这组数字按照『升序』或者『降序』排列
- 之后『对半猜数字』,这个时候程序会提示你『猜大了』还是『猜小了』
- 根据程序的提示,再猜这个数字为这个『区间中间』的『这个数』
- 这样我们就又排除了『一半的数字』
- 从2开始『反复执行』以下的步骤,你就能很快找到这个『数字』了
7. 总结
为什么我们需要做这个『小游戏』呢?这个小游戏我们能『学到什么』呢?
- 我们学会了如何『创建Ramdom类』(也就是获取随机数的类)
- 我们学会了如何『使用Ramdom类』中的方法『nextInt() 方法』
- 我们学会了如何用『if…else if语句』做相应的『提示』
马上就要过年了,新年的一年里祝福大家『多胖两斤』,哈哈哈,希望『小编』能『少胖两斤』。最后,给大家说一下,大家想要『运行这个代码』,建议大家自己『先创建一个类』,之后呢,把里边的类,用『**Alt+Enter **』导入就好了。希望大家能理解我在说什么,『不能理解的』,可以『留言评论』,小编会给你『解答』的。
|