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. C,C++开源项目中的100个Bugs
  2. UA PHYS515 电磁理论II 静电场问题5 用Green函数法求解interior Dirichlet问题的例子
  3. 一个项目有两个pom_实现一个Spring Boot Starter超简单,读 Starter 源码也不在话下...
  4. plsql tables 没有表_天长视唱练耳辅导班收费表,安徽高考音乐培训学校,你知道吗...
  5. mybatis-MyBatis-Plus
  6. HTTP协议中POST、GET、HEAD、PUT等请求方法及相应值得含义
  7. Java扫描仪toString()方法及示例
  8. Emgu-WPF学习使用-阈值化
  9. c++字符串string操作全解
  10. PMP题库重要吗?什么样的题库才是好的题库?
  11. 原神的天空岛服务器位置,原神天空岛服和世界树服数据互通吗
  12. 名人漏网之语 --联合早报2007-01-28
  13. php删除文件还能修复吗,删除文件恢复
  14. 各种手机处理器排行榜_手机处理器CPU性能排名
  15. 笔记本的无线网共享给台式机上网
  16. 【Sass/SCSS】预加载器中的“轩辕剑”
  17. 硬核接亲!程序员被新娘要求现场写代码,结果万万没想到……
  18. qt实现windows系统下录屏功能
  19. php html 纯文本,php – 使用纯文本回退发送HTML简报
  20. ps2键盘测试软件,51单片机驱动PS2键盘完整程序

热门文章

  1. 【干货】Keras学习资源汇总
  2. 软件工程-案例分析作业
  3. 两个 Python 的冷技巧
  4. axure常用函数判断
  5. Yearn Finance闪电贷攻击分析学习
  6. MFC学习之 利用 Codejock XtremeToolkitPro 换肤
  7. leetcode系列--125.验证回文串
  8. 楼宇智能化豪门系列- 泰斗少林之 霍尼韦尔
  9. C#控制ppt的播放读取打开插入等操作代码
  10. 乌班图docker容器日志清理_(NEW)Docker常用命令(2019年最新版)