栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[Java] 基础:简易算式测试程序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Java] 基础:简易算式测试程序

 信仰:一个人走得远了,就会忘记自己为了什么而出发,希望你可以不忘初心,不要随波逐流,一直走下去
曆 欢迎关注点赞收藏留言
濾 本文由 程序喵正在路上 原创,CSDN首发!
 系列专栏:Java学习
 首发时间:2022年5月18日
✅ 如果觉得博主的文章还不错的话,希望小伙伴们三连支持一下哦

目录
  • ① 程序功能
  • ② 实现思路
  • ③ 具体代码
  • ④ 程序执行结果

① 程序功能

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

② 实现思路

首先,我们新建一个名为 Calculate 的 class 文件,然后就可以敲我们的代码啦。接着,我们先写一个 main 函数,然后第一步是创建一个 Scanner 对象,用来接受用户输入的题目数量。下一步我们定义几个变量来保存程序的信息,即 result 保存算式答案,right 保存答对题数,accuracy 保存准确率。接着,开始计时,然后创建一个 Random 对象用来生成随机数,在 for 循环里面,我们通过设置 r.nextInt() 括号里的数字来控制随机数的范围。然后,我们通过第 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();
    }
}

④ 程序执行结果

笠这次的分享就到这里啦,继续加油哦^^
有出错的地方欢迎在评论区指出来,共同进步,谢谢啦

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号