在前几天的文章中通过实例介绍了循环结构中while和do while语句的使用。今天的文章,我们通过一个案例“随机加法运算器”加深一下for语句的理解和实际应用。
问题
有加法运算程序。其规则为:程序依次出10道加法题目,由用户输入题目的答案,用户每答完一道题,由系统提示结果:答错了或者答对了。10道题目答完之后,系统计算得分并输出。如果用户希望提前结束,则可以输入-1提前退出。
本案例要求使用交互的方式实现此游戏,交互过程为:
-程序开始,即出现一道加法题(两个加数均为0到99之间的随机数),并提示用户输入该题目的答案(输入-1则会提前退出程序)。如图所示
-用户录入后,程序进行判断:如果用户输入的答案错误,则提示“Error!”;如果用户输入的答案正确,则提示“Correct!”然后给出下一道题目,并提醒用户继续答题。用户答完10道题目后,系统给出用户的得分并显示(每道题10分),程序结束。如图所示
-如果用户录入-1,则表示希望提前退出程序,系统将提示用户分数,且程序结束,如图所示
方案
此案例中需要使用for循环产生10道加法题目。
在每次循环中,需要产生两个0到99之间的随机整数,并作为加法题目的两个加数,并计算出正确答案;然后输出题目,并提示用户进行答题,从而得到用户从界面录入的数字。
得到用户的录入后,进行判断:如果用户录入的为-1,则需要提前退出循环;如果用户录入的答案错误,则提示“Error!”,并继续下一次答题;如果用户录入的答案正确,则提示“Correct!”,继续下一次答题。
循环结束后,计算用户的得分并输出,程序结束。注:用户得分的规律是,每答对一题得10分,满分为100分。流程图如下
步骤
步骤一:定义类及main方法
首先定义一个名为AdditionTest的类,并在类中添加Java应用程序主方法main。如图一步骤一所示
步骤二:准备
在main方法中,输出程序即将开始的信息并实例化Scanner类,用于准备接收用户从控制台输入的数字,然后,声明变量score用于记录用户的得分,代码如图一步骤二所示
注意:此步骤中,需要导入java.util包下的Scanner类。
步骤三:构建循环
使用for语句,构建10次循环。
在循环中,使用Math类的random方法返回两个0到1之间的随机数(包含0,不包含1),然后将所产生的数值乘以100,并取其整数部分,则可以生成两个0到99之间的随机整数(包含0也包含99),表示加法运算中的两个加数。
计算加法运算的结果,并输出题目,代码图一步骤三所示
步骤四:判断录入
得到用户的录入后,进行判断:如果用户录入的为-1,则需要提前退出循环;如果用户录入的答案错误,则提示“Error!”,并继续下一次答题;如果用户录入的答案正确,则提示“Correct!”,并计算用户得分,然后继续下一次答题。代码如图一步骤四
步骤五:输出结果
最后,需要将Scanner对象关闭,并输出结果,代码如图一步骤五。
这样我们就通过一个实例,用for循环写出了实现“随机加法运算器”的程序代码。大家可以参照流程书写一下代码,实际操作一下,加深印象。
知识无限,小编在文章编辑过程中难免出现不尽人意的地方,欢迎大家批评指正,小编也将不断积累完善自己,让我们共同进步。
领取专属 10元无门槛券
私享最新 技术干货