packageyunsuan;importjava.util.Scanner;importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;importjavax.script.ScriptException;public classSiZeYunSuan3 {private static int correct=0;//获取运算符

public static String getOp(intindex) {

String string= "";switch(index) {case 0:

string= "+";break;case 1:

string= "-";break;case 2:

string= "*";break;case 3:

string= "/";break;

}returnstring;

}//输出界面

public static voidPrint() {

System.out.println("************************");

System.out.println(" 1.参数设置 ");

System.out.println(" 2.小学二年级口算题 ");

System.out.println(" 3.小学三年级口算题 ");

System.out.println(" 4.小学四年级口算题 ");

System.out.println(" 5.错题集 ");

System.out.println("************************");

}//参数设置

public static voidCanshu(ShuZhi sz) {

Scanner con=newScanner(System.in);

System.out.print("请输入题目数量:");

sz.N=con.nextInt();

System.out.print("请输入操作数个数:");

sz.n=con.nextInt();

System.out.print("请输入最大范围:");

sz.max=con.nextInt();

}//生成随机数

public static void Random(int[] number,int[] ope,ShuZhi sz) {for(int i=0;i

number[i]=(int)(Math.random()*sz.max+1);

}for(int j=0;j

ope[j]=(int)(Math.random()*4+0);

}

}//题目生成字符串

public static void Into_str(String[] str,int[] number,int[] ope,ShuZhi sz) {int i=0,j=0;for(int p=0;p

String s1=" ";for(int m=0;m

s1=s1+String.valueOf(number[i])+getOp(ope[j]);

i++;j++;

}

str[p]=s1+String.valueOf(number[i]);

System.out.println(str[p]);

}

}//输出题目

public static voidOutput1(String[] str,ShuZhi sz,String[] mis) {

Scanner con=newScanner(System.in);int j=0;for(int i=0;i

System.out.println("("+(i+1)+")"+str[i]+"=");

String answer1=con.next();if(answer1.equals(Calculate(str[i]))) {

System.out.println("回答正确!");

correct++;

}else{

System.out.println("回答错误!");

mis[j]=str[i];

j++;

}

}

System.out.println("本次做题总数:"+sz.N+" 正确数:"+correct+" 错题数:"+(sz.N-correct)+" 正确率:"+((correct*100)/sz.N)+"%");

}//判断是否重复

public static intjudge(String[] str,ShuZhi sz) {int f=1;for(int i=0;i

}

}returnf;

}//计算结果函数

public staticString Calculate(String s) {

ScriptEngineManager scriptEngineManager= newScriptEngineManager();

ScriptEngine scriptEngine= scriptEngineManager.getEngineByName("nashorn");

String n=s;

String result="";try{

result=String.valueOf(scriptEngine.eval(n));//System.out.println(result);

} catch(ScriptException e) {

e.printStackTrace();

}returnresult;

}/*//计算题目结果

public static void Calculate_timu(String[] str,String[] result,ShuZhi sz) {

for(int i=0;i

result[i]=Calculate(str[i]);

System.out.println(result[i]);

}

}*/

//错题集

public static voidOutput_mis(String[] mis,ShuZhi sz) {

Scanner con=newScanner(System.in);for(int j=0;j

System.out.println("("+(j+1)+")"+mis[j]+"=");

String answer2=con.next();if(answer2.equals(Calculate(mis[j]))) {

System.out.println("回答正确!");

}else System.out.println("回答错误!");

}

}public static voidmain(String[] args) {

ShuZhi sz=newShuZhi();

sz.n=2;

sz.N=30;

sz.max=100;

SiZeYunSuan3 si=newSiZeYunSuan3();int f=1;int[] number=new int[100];int[] ope=new int[100];

String[] str=new String[100];

String[] mis=new String[100];

Canshu(sz);

Random(number,ope,sz);//随机生成数字

Into_str(str,number,ope,sz); //题目生成字符串//f=judge(str,sz);//判断是否重复

Output1(str,sz,mis); //输出判断正误

System.out.println("\n错题集:");

Output_mis(mis,sz);

}

}

java算术运算测试思想_Java四则运算课堂测试三相关推荐

  1. 20145209刘一阳《JAVA程序设计》第七周课堂测试

    第七周课堂测试 1.命令"CREATE DATABASE "用来创建一个数据库.(A) A .true B .false 2.以下不属于驱动的四种类型的是(C) A .JDBC-O ...

  2. python交互式程序设计导论第五周小测试答案_20145209刘一阳《JAVA程序设计》第五周课堂测试...

    第五周课堂测试 1.下列关于内部类的说法,正确的是(ABD) A .其他类不可以用某个类的内部类声明对象. B .内部类字节码文件的名字格式是"外嵌类名$内部类名". C .内部类 ...

  3. java接口自动化监控_java接口自动化(三) - 手工接口测试到自动化框架设计之鸟枪换炮...

    1.简介 上一篇宏哥介绍完了接口用例设计,那么这一章节,宏哥就趁热打铁介绍一下,接口测试工具.然后小伙伴们或者童鞋们就可以用接口测试工具按照设计好的测试用例开始执行用例进行接口手动测试了.关于手动测试 ...

  4. java 变量值变化检测_Java 9.5 测试复盘

    <9.5测试复盘> 3.对于一个已经不被任何变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的哪个方法(A) A finalize B notify C noti ...

  5. java遍历集合选择题_Java集合知识测试B

    集合部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住 ...

  6. java 合并算法思想_Java实现合并两个有序序列算法示例

    本文实例讲述了Java实现合并两个有序序列算法.分享给大家供大家参考,具体如下: 问题描述 输入:序列A,其中a0,其中b0 算法思想 创建一个长度为r的数组R,将A中的序列看作是两个有序序列 B=A ...

  7. java面向对象编程思想_Java面向对象编程思想的理解

    1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...

  8. java面向对象编程思想_Java面向对象编程思想

    面向对象三个特征:封装.继承.多态 封装: 语法:属性私有化(private).提供相对应的get/set 的方法进行访问(public). 在set/get的方法中对属性的数据 做相对应的业务逻辑的 ...

  9. java网络编程阻塞_Java网络编程由浅入深三 一文了解非阻塞通信的图文代码示例详解...

    本文详细介绍组成非阻塞通信的几大类:Buffer.Channel.Selector.SelectionKey 非阻塞通信的流程ServerSocketChannel通过open方法获取ServerSo ...

最新文章

  1. 30岁的她决定回国做AI芯片
  2. python人工智能基础课免费_【领卡免费学】Python基础课(完整大课)
  3. Julia程序设计1 介绍和基础数学运算
  4. linux eth0 device not found,nVidia集成驱动已经安装了,但是Device not found,我的网卡怎么用呢?...
  5. 烂泥:centos单独编译安装gd库
  6. Linux split命令:拆分大的tar压缩包然后解压
  7. Hibernate持久化类与主键生成策略
  8. 分享一份60页的《Python数据分析入门PPT》
  9. api token 什么意思_还分不清 Cookie、Session、Token、JWT?
  10. Android-LayoutInflater
  11. 动真格!阿里云刚说缺 5000 程序员,今天就来抢人!
  12. Java中,类的实例化方法
  13. 怎么样使prestashop 运行速度更快
  14. java openxml word_【转】【OpenXml】OpenXml操作Word的一些操作总结
  15. [云原生专题-41]:K8S - 核心概念 - Service业务的统一网关接口Ingress详解、安装、常见操作命令
  16. POJ-3368 Frequent values
  17. 两步解决XMind发生了错误,请参阅日志文件
  18. Nginx服务器---正向代理
  19. 自然语言处理 文本数据分析
  20. 安卓-电子签名signature

热门文章

  1. day43 JavaWen阶段——JQuery 基础(JQuery相关开发文档,JQuery对象和JS对象区别与转换,JQuery选择器,JQuery中DOM操作,案列【QQ表情选择】【左右移动】)
  2. 把Ubuntu装进移动硬盘里
  3. BCGControlBar MFC对话框换肤
  4. 计算机usb接口充电效率差,手机USB接口的4个真相:为何速度、功能有差别?
  5. PCB生产工艺 | 第七道主流程之阻焊
  6. 用LoadRunner进行脚本录制
  7. SQL Server安装登录过程中配置管理器无法创建管理单元的解决方法
  8. Docker04:docker镜像原理
  9. Elasticsearch搜索
  10. 【可视化】表格的设计