在上一篇文章中,我们介绍了JAVA语言的逻辑结构,分为顺序结构、分支结构和循环结构。顾名思义,顺序结构是从上到下执行的,可以逐步执行,比较简单。所以我们没有过多地解释顺序结构。专注于分支和循环结构。并且在上一篇文章中,我通过收银员收款系统练习了if和if-else语句的使用。所以在今天的文章中,我们将结合上篇文章中对循环结构的介绍,通过编写“猜数游戏”的案例,加深循环结构知识点在实际操作中的应用。
问题
猜数字游戏,游戏规则是:程序设置一个1到1000之间的数字作为猜数字,用户猜数字。用户每次猜测,系统都会提示猜测结果:大、小、正确;直到用户猜对结果,才会提示游戏。用户可以提前退出游戏,即在游戏过程中,如果用户输入数字0,则游戏终止。游戏的交互过程如下:
在游戏开始时,提示用户在控制台中输入猜出的数字。交互流程如图:
图一
用户输入猜出的数字后,程序进行判断:如果用户猜出的数字大于结果,则提示“太大”,如果用户猜出的数字小于结果,则提示“太小了”,每次提示结果后,并提醒用户继续猜测,交互过程如下:
图2
如果用户猜对了,系统会提示“恭喜你猜对了!”游戏结束,交互流程如图:
图 3
如果用户想提前退出游戏,可以输入数字0,游戏结束。交互流程如图:
图 4
程序
首先数字游戏设计,在这种情况下,需要生成一个1到1000之间的随机整数,这是用户猜测的结果;然后提示用户进行猜测,得到用户从界面输入的数字。
因为猜的次数是不确定的,所以用while循环来构造猜的过程:判断用户猜的数是否和结果一样,只要猜错了,循环就继续在每个循环中,首先判断用户输入的数字是否为0,如果是,则使用break退出循环;否则,根据比较结果输出提示信息(“太大”或“太小”),提示用户继续。一个猜测。
如果用户猜对或输入数字 0,while 循环结束。循环结束后,需要判断用户最后输入的数字。如果猜对了,会提示用户“恭喜,你猜对了!”如果用户输入的数字为0,则会提示用户“对不起,下次再试”。 !”,程序结束。程序流程图如下
图5 while循环流程
步骤:要实现此案例,请按照以下步骤操作
第一步:定义类和main方法
首先定义一个名为numberGuess的类,并在该类中添加main方法,代码如图6,步骤1
第 2 步:阅读第一个猜测
在main方法中,提示用户输入猜到的数字作为第一次猜;然后实例化Scanner类,调用Scanner类的nextInt方法,接收用户从控制台输入的号码。代码如图6,步骤2
注意,这一步需要导入java.util包下的Scanner类。
第 3 步:构建循环
使用while循环判断用户猜测的数字是否与结果相同:只要猜测不正确数字游戏设计3D植物,循环继续。在每个周期。您需要使用 if-else 结构来确定用户输入的数字。首先判断输入的数字是否为0,如果为0,表示用户想退出游戏,使用break退出循环;然后将猜测的数字与实际数字进行比较,并根据比较结果输出信息(“太大”或“太大”)。太小”),然后提示用户继续下一次猜测,并调用Scanner类的nextInt方法接收用户输入的数字,代码如图6,步骤3
第 4 步:游戏结束
如果用户猜对或输入数字0停止游戏,while循环结束。 while循环结束后,需要判断用户最后输入的数字。如果猜对了,会提示用户“恭喜,你猜对了!”如果输入的数字为0,则会提示用户“对不起,下次再试”。 !”,最后关闭Scanner对象。代码如图6,步骤4
图 6
在上面的例子中,我们使用了while语句实现的猜数游戏。用while语句实现的猜数游戏可以转化为do-while语句吗?答案是肯定的,那么我们来看看解决方案。
本例的实现与上例类似。
首先,在这种情况下,需要生成一个1到1000之间的随机整数。该值是用户猜测的结果,提示用户进行第一次猜测,得到用户从界面输入的数字。
因为猜的次数是不确定的,所以使用do-while循环来构造猜的过程:判断用户猜的数与结果是否相同,只要猜错了,循环继续。在每个循环中,首先判断用户输入的数字是否为0.,如果是则使用break退出循环,否则根据比较结果输出信息,提示用户进行下一步操作。
如果用户猜对或输入的数字为0,则循环结束。循环结束后,需要判断用户最后一次输入的数字。如果猜对了,会提示用户“恭喜你,你猜对了”,如果输入的数字是0,则提示用户“对不起,我们下次再试”,然后程序结束。流程图如下
图 7
步骤
第一步:首先定义一个numberGuess类,将java应用的main方法main添加到该类中,如图8 Step 1所示
第 2 步:准备进入。在main方法中,生成一个随机数作为猜测结果,然后实例化Scanner类来接收用户从控制台输入的数字,并声明一个变量来存储用户输入的数字。图 8 中的步骤 2
这一步需要导入java.util包下的Scanner类
第三步:使用do-while循环提示用户猜测,调用Scanner类的nextInt方法接收用户输入的数字,然后判断用户猜测的数字是否相同结果:只要猜测不正确,循环就会继续。第3步如图8所示
在每个循环中,都需要使用 if-else 结构来判断用户输入的数字。首先判断输入的数字是否为0,如果为0,表示用户要启动游戏,使用break启动循环;然后比较猜测的数字和实际数字。并根据比对结果输出提示信息(太大或太小)
第四步:如果用户猜对或输入数字为0,则游戏停止,循环结束。循环结束后,需要判断用户最后一次输入的数字。如果猜对了,会提示用户“恭喜,你猜对了!”如果输入的数字为0,则会提示用户“对不起,下次再试”。 Bar"。最后关闭scanner对象,结束程序。步骤4如图8所示
图 8
上面是一个用循环结构中的while循环和do-while循环编写的猜数游戏。图6和图8是两个循环语句的完整代码,供参考。