• 大小: 13KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-06
  • 语言: Java
  • 标签: java  

资源简介

编写一个小学生整数四则运算练习软件,每次运行程序时要求先输入用户名,之后计算机随机生成题目,程序每次显示一道题目,要求用户输入答案,之后询问用户是否要继续。如果用户选择不继续,则程序再显示全部题目,标准答案和用户的答案,并给出得分(每道题目的分值为100.0/题目数)。同时,将题目、标准答案、用户答案、成绩保存到以用户名为文件夹,以rec+日期时间为文件名的文本文件中。要求文件的排版美观整齐,用户可以用记事本查看该文件的内容。 要求程序提供完善的异常处理。 主类的类名必须是ArithmeticTest6,源程序文件名必须是ArithmeticTest6.java。

资源截图

代码片段和文件信息

import java.util.*;
import java.io.*;

public class ArithmeticTest6 {

static String sure1(String x)throws MyException{
if(!(x.equals(“+“)||x.equals(“-“)||x.equals(“X“)||x.equals(“/“)||x.equals(“r“))) {
 throw new MyException(“运算类型错误“);}
 return x;

}
static String sure2(String y)throws MyException{

 if(!(y.equals(“1“)||y.equals(“2“)||y.equals(“3“)||y.equals(“4“)||y.equals(“5“))) { 
 throw new MyException(“输入数据类型错误“);}
 return y;

}
static void sure3(int xString yString z)throws NumberTooBigException{

int y1=Integer.parseInt(y);
if(z.equals(“+“)) {if(x<0||x>Math.pow(10y1)*2)
 throw new NumberTooBigException(“你输入的答案超出了可能的范围请重新输入“);}
else if(z.equals(“-“)) {if(x<0||x>=Math.pow(10y1)*1)
 throw new NumberTooBigException(“你输入的答案超出了可能的范围请重新输入“);}
else if(z.equals(“X“)) {if(x<0||x>Math.pow(10y1)*Math.pow(10 y1))
 throw new NumberTooBigException(“你输入的答案超出了可能的范围请重新输入“);}
else if(z.equals(“/“)) {if(x<0||x>Math.pow(10y1)*1)
 throw new NumberTooBigException(“你输入的答案超出了可能的范围请重新输入“);}

 


public static void main(String[] args) throws Exception {
 

int numberOfDigit;
int score = 0; 
int iscontinue = 1;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String name=in.readLine();
File f=new File(name); 
if(!f.exists()) f.mkdir();
Calendar time=Calendar.getInstance();
String Time=String.format(“%1$ty_%1$tm_%1$td %1$tH_%1$tM_%1$tS“time);
numberOfDigit = Integer.parseInt(args[1]);
Random numberGenerator = new Random(new Date().getTime());
BufferedReader keyboardIn = new BufferedReader(new InputStreamReader(System.in));


try {String s1=sure1(args[0]);
String s2=sure2(args[1]);

catch (MyException e) {
System.out.println(e.getMessage());
System.exit(1);
}
 

 
if (args[0].equals(“r“)) {
Vector array = new Vector();
while (iscontinue == 1) {
int operators = numberGenerator.nextInt((int) (Math.pow(2 2)));
Thread.sleep(100);
if (operators == 0) {
Operation s = new Addition(numberOfDigit numberGenerator);
array.add(s);
s.outQuestion();
s.Operate();
s.ppnumber = Integer.parseInt(keyboardIn.readLine());

try {sure3(s.ppnumberargs[1]“+“);}
catch (NumberTooBigException e) {
System.out.println(e.getMessage());
s.ppnumber = Integer.parseInt(keyboardIn.readLine());
}
s.check();
System.out.println(“继续请输入1,终止请输入0:“);
iscontinue = Integer.parseInt(keyboardIn.readLine());
} else if (operators == 1) {
Operation s = new Subtraction(numberOfDigit numberGenerator);
array.add(s);
s.outQuestion();
s.Operate();
s.ppnumber = Integer.parseInt(keyboardIn.readLine());
try {sure3(s.ppnumberargs[1]“-“);}
catch (NumberTooBigException e) {
System.out.println(e.getMessage());
s.ppnumber = Int

评论

共有 条评论