代码拉取完成,页面将自动刷新
package Project.Arithmetic;
import java.text.NumberFormat;
import java.util.Scanner;
public class ArithmeticTest {
public static void main(String[] args) {
Scanner number = new Scanner(System.in);
Scanner result = new Scanner(System.in);
NumberFormat fmt = NumberFormat.getPercentInstance();
MakeQuestions Nq = new MakeQuestions();
Calculator jdg = new Calculator();
InfixToSuffix its = new InfixToSuffix();
int count;// 题目数
int level;// 级别
String expr;// 题目
while(1>0) {
int j = 0;
System.out.print("请输入要生成的题目数:" );
count = number.nextInt();
while (count == 0)
{
System.out.println("错误,请输入有效数字!(最小为1,理论无上限)");
System.out.print("请输入要生成的题目数:");
count = number.nextInt();
}
System.out.print("请输入生成题目的级别(每增加一级多一个运算符,最低为一级):");
level = number.nextInt();
while (level == 0)
{
System.out.println("错误,请输入有效数字!(最小为1,理论无上限)");
System.out.print("请输入生成题目的级别(每增加一级多一个运算符,最低为一级):");
level = number.nextInt();
}
for (int i = 0; i < count; i++) {
//生成题目
int a;
a = i + 1;
expr = Nq.getExper(level);
String s = "题目" + a + ":" + expr + " =";
System.out.print(s);//输入题目
String result1 = result.nextLine();
its.conversion(expr);
System.out.println(its.getMessage());
if (result1.equals(jdg.evaluate(its.getMessage()))){
System.out.println("正确!");
j++;
}
else
System.out.println("错误,正确答案为:" + jdg.evaluate(its.getMessage()));
}
double accuracy = (double)j/count;
System.out.println("完成" + count + "道题目,正确率为" + fmt.format(accuracy));
System.out.println("答对"+ j + "道题");
String s1 = number.nextLine();
System.out.print("是否继续生成题目?(y/n)(之前统计将清零):" );
String s2 = number.nextLine();
if (s2.equalsIgnoreCase("n")){
break;
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。