基于Java编写简易的算式测试程序
1.程序功能
这个程序可以自动生成指定数量的加减乘 ”三则运算“ 题目,用户可以进行回答,在答题完毕后,会显示答对题数、准确率和所用时间。这不写一个测测亲戚家小孩

2.实现思路
首先,我们新建一个名为 Calculate 的 class 文件,然后就可以敲我们的代码啦。接着,我们先写一个 main 函数,然后第一步是创建一个 Scanner 对象,用来接受用户输入的题目数量。下一步我们定义几个变量来保存程序的信息,即 result 保存算式答案,right 保存答对题数,accuracy 保存准确率。接着,开始计时,然后创建一个 Random 对象用来生成随机数,在 for 循环里面,我们通过设置 r.nextInt() 括号里的数字来控制随机数的范围。然后,我们通过第 3 个随机数的 3 种情况来决定进行哪种算式运算。下一步,判断答案和用户的输入是否一致,输出提示信息。然后结束计时,输出成绩。
3.具体代码
import java.util.*;
public class Calculate {
public static void main(String[] args) {
//接受用户输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入题目的数量:");
int n = sc.nextInt();
//result保存算式答案,right保存答对题数,accuracy保存准确率
int result = 0, right = 0;
double accuracy;
//开始计时
long startTime = System.currentTimeMillis();
//打印加减乘三种算式
Random r = new Random();
for (int i = 0; i < n; i++) {
int i1 = r.nextInt(50);
int i2 = r.nextInt(50);
int i3 = r.nextInt(3);
//判断进行哪种运算
if (i3 == 0) {
System.out.println(i1 + "-" + i2 + "=");
result = i1 - i2;
} else if (i3 == 1) {
System.out.println(i1 + "+" + i2 + "=");
result = i1 + i2;
} else {
System.out.println(i1 + "*" + i2 + "=");
result = i1 * i2;
}
//输出正确与否信息,同时判断是否增加答对题数
int a = sc.nextInt();
if (a == result) {
System.out.println("答对了!");
right += 1;
} else {
System.out.println("答错了,继续加油!");
}
}
//计算准确率
accuracy = (right * 1.0 / n) * 100;
//结束计时
long endTime = System.currentTimeMillis();
//输出成绩
System.out.print("恭喜你,一共答对了" + right + "题" + "," + "正确率:" + accuracy + "%" + "," + "用时:" + (endTime - startTime) / 1000 + "秒");
//关闭资源的使用,可不加
sc.close();
}
}
4.程序执行结果

到此这篇关于基于Java编写简易的算式测试程序的文章就介绍到这了,更多相关Java算式测试程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot项目的配置文件中设置server.port不生效问题
这篇文章主要介绍了SpringBoot项目的配置文件中设置server.port不生效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-11-11
SpringBoot 整合MyBatis+MyBatis-Plus+MyBatisX插件使用
本文主要介绍了SpringBoot 整合MyBatis+MyBatis-Plus+MyBatisX插件使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-04-04
java servlet结合mysql搭建java web开发环境
之前写过一篇 servlet+oracle的文章,但是那是因为公司有可能接那么一个项目,然后我当时也比较闲,所以随便学了下,那玩意是白去研究了,因为公司后面并没接到那项目。2015-12-12


最新评论