java算术运算测试思想_Java四则运算课堂测试三

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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值