基于Java编写简易的算式测试程序

目录
  • 1.程序功能
  • 2.实现思路
  • 3.具体代码
  • 4.程序执行结果

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算式测试程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一篇文章带你入门java算术运算符(加减乘除余,字符连接)

    目录 概念 实例 注意点 1.除法不能整除时 2.类型的提升 3.字符的(+)操作 4.字符串的(+)操作 实例1 实例2 实例3 实例4 总结 概念 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样. 运算符 描述 实例 + 加法 - 相加运算符两侧的值 20+10=30 - 减法 - 左操作数减去右操作数 20-10=10 * 乘法 - 相乘操作符两侧的值 20*10=200 / 除法 - 左操作数除以右操作数 20/10=2 % 取余 - 左操作数除以右操作数的余数 20%10=

  • java运算符实例用法总结

    四则运算符 四则运算当中的加号"+"有常见的三种用法: 1.对于数值来,那就是加法. 2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算.char类型字符,和int类型数字之间的对照关系比表:ASCII,Unicode 3.对于字符串String(首字母大写,并不是关键字)来,加号代表字符串连操作.任何数据类型和字符串进行连接的时候,结果都会变成字符串 自增运算符:++ 自减运算符:-- 基本含义:让一个变量涨一个数字,或者让一个变量降一个数字1 使用格式

  • Java运算符的常见问题与用法小结

    本文实例讲述了Java运算符的常见问题与用法.分享给大家供大家参考,具体如下: 算术运算符: 算术运算符的注意问题 1. 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1.但被模数是负数就另当别论. -5%3=-2:-5%-3=-2:符号跟被模数(左边). 2. 对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分. 例如:int x=3510;x=x/1000*1000; x的结果是? 3000 而3560.0/1000*1000=35

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • java中应用Stack进行算术运算的操作

    java.util.stack,继承自Vector FILO, 适合带有小括号的算术运算 import java.util.Stack; /** * 利用栈,进行四则运算的类 * 用两个栈来实现算符优先,一个栈用来保存需要计算的数据numStack,一个用来保存计算优先符priStack * * 基本算法实现思路为:用当前取得的运算符与priStack栈顶运算符比较优先级:若高于,则因为会先运算,放入栈顶: * 若等于,因为出现在后面,所以会后计算,所以栈顶元素出栈,取出操作数运算: * 若小于

  • 基于Java编写简易的算式测试程序

    目录 1.程序功能 2.实现思路 3.具体代码 4.程序执行结果 1.程序功能 这个程序可以自动生成指定数量的加减乘 ”三则运算“ 题目,用户可以进行回答,在答题完毕后,会显示答对题数.准确率和所用时间.这不写一个测测亲戚家小孩 2.实现思路 首先,我们新建一个名为 Calculate 的 class 文件,然后就可以敲我们的代码啦.接着,我们先写一个 main 函数,然后第一步是创建一个 Scanner 对象,用来接受用户输入的题目数量.下一步我们定义几个变量来保存程序的信息,即 result

  • 基于java编写局域网多人聊天室

    由于需要制作网络计算机网络课程设计,并且不想搞网络布线或者局域网路由器配置等等这种完全搞不懂的东西,最后决定使用socket基于java编写一个局域网聊天室: 关于socket以及网络编程的相关知识详见我另一篇文章:Java基于socket编程 程序基于C/S结构,即客户端服务器模式. 服务器: 默认ip为本机ip 需要双方确定一个端口号 可设置最大连接人数 可启动与关闭 界面显示在线用户人以及姓名(本机不在此显示) 客户端: 需要手动设置服务器ip地址(局域网) 手动设置端口号 输入姓名 可连

  • 基于Java编写串口通信工具

    最近一门课要求编写一个上位机串口通信工具,我基于Java编写了一个带有图形界面的简单串口通信工具,下面详述一下过程,供大家参考 ^_^ 一: 首先,你需要下载一个额外的支持Java串口通信操作的jar包,由于java.comm比较老了,而且不支持64位系统,这里推荐Rxtx这个jar包(32位/64位均支持). 官方下载地址:http://fizzed.com/oss/rxtx-for-java (注:可能需要FQ才能下载) 不能FQ的童鞋,可以在这里下载: http://xiazai.jb51

  • 基于Java实现简易的局域网对话系统

    先说一下 写的确实比较一般,别喷 为什么呢,疫情原因,学校提前两周期末考试,时间也不太充足,将就一下 服务器代码: package xcvcvcx; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputSt

  • 基于Python编写简易的成语接龙游戏

    目录 前言 1.游戏规则 2.正式敲代码 2.1模块导入 2.2读取txt数据 2.3界面设置 2.4电脑接龙 2.5重新开始新游戏 2.6成语是否合法 2.7读取成语的数据 2.8附完整的项目源码 3.效果展示 前言 "胸藏文墨怀如谷,腹有诗书气自华".      ——<和董传留别> 成语接龙是中华民族传统的文字游戏. 它历史悠久,是传统文字.文化.文明的一个缩影,也是老少皆宜的民间文化娱乐活动. 成语接龙:"龙腾虎跃,该你了!"          

  • 基于Python编写简易文字语音转换器

    话不多说上代码!源代码 from tkinter import * import pyttsx3 class Application(Frame): def __init__(self,master=None): super().__init__(master) self.master = master self.pack() self.creatWidget() # BING INPUT def creatWidget(self): self.w1 = Text(self, width=80,

  • 基于Python编写简易版的天天跑酷游戏的示例代码

    写出来的效果图就是这样了: 下面就更新一下全部的代码吧 还是老样子先定义 import pygame,sys import random 写一下游戏配置 width = 1200            #窗口宽度 height = 508            #窗口高度 size = width, height    score=None              #分数 myFont=myFont1=None     #字体 surObject=None          #障碍物图片   

  • 基于Java实现简易的七星彩号码生成器

    目录 题目描述:七星彩号码生成器 一.题目 二.解题思路 三.代码详解 题目描述:七星彩号码生成器 一.题目 七星彩是中国体育彩票的一种玩法,由中国国家体育总局体育彩票管理中心统一发行,2004年5月18日开始在全国联网统一销售.单注最高奖金500万元.到现在还在运行. 基本玩法是,从0~9数字中随机选一个,一共选7次,组成一个7位数.如果完全跟中奖号码一样,则中了一等奖. 实现:实现一个七星彩号码生成器. 二.解题思路 创建一个类:SevenStar 使用SevenStar继承JFrame构建

  • 基于Java编写一个简单的风控组件

    目录 一.背景 1.为什么要做风控 2.为什么要自己写风控 3.其它要求 二.思路 1.风控规则的实现 2.调用方式的实现 三.具体实现 1.风控计数规则实现 2.注解的实现 四.测试一下 1.写法 2.Debug看看 一.背景 1.为什么要做风控 这不得拜产品大佬所赐 目前我们业务有使用到非常多的AI能力,如ocr识别.语音测评等,这些能力往往都比较费钱或者费资源,所以在产品层面也希望我们对用户的能力使用次数做一定的限制,因此风控是必须的! 2.为什么要自己写风控 那么多开源的风控组件,为什么

  • 基于Qt编写简易的视频播放器

    目录 一.前言 二.效果图 三.体验地址 四.相关代码 五.功能特点 5.1 基础功能 5.2 特色功能 5.3 视频控件 5.4 内核ffmpeg 一.前言 花了一年多的时间,终于把这个超级播放器做成了自己想要的架构,用户的需求是一方面,自己架构方面的提升也是一方面,最主要是将界面和解码解耦了,这样才能动态的挂载不同的解码内核到不同的窗体,多对多关系,而且解耦和才能方便的实现共享解码,整个设计参照了Qt的设计思路,将各种功能做成不同的类组件,同时还有多层基类的设计,最大的提炼共性,本组件设计的

随机推荐