资源简介
编写一个小学生整数四则运算练习软件,每次运行程序时要求先输入用户名,之后计算机随机生成题目,程序每次显示一道题目,要求用户输入答案,之后询问用户是否要继续。如果用户选择不继续,则程序再显示全部题目,标准答案和用户的答案,并给出得分(每道题目的分值为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
- 上一篇:100家大公司java笔试题汇总
- 下一篇:文件上传所需jar包
相关资源
- 文件上传所需jar包
- 100家大公司java笔试题汇总
- Java基于JavafxGUI界面家庭消费账单管理
- javacpp.jar
- Java7入门经典_中文版_带书签_高清完整
- 李兴华 Java核心技术精讲 带书签.pdf
- java对接大华门禁二次开发
- 基于RMI技术实现的书籍信息管理系统
- java IO流一本很好的IO学习书籍
- java实现FTP客户端
- JAVA遍历FTPS服务器上的文件
- 论坛管理系统的课程设计有全套的流
- java银行管理系统
- java运算符大全
- 使用java设计钟表,界面美观
- JAVA单词拼写检测程序
- java课程设计人事管理系统
- RSA公钥加密算法Java实现
- 2018年最新JavaEE全套视频教程
- IDEA算法(java)
- 有关于计算机JAVA经典的外文翻译
- java面试笔试题 选择题 问答题 带答案
- java导出txt文件并以&分隔符每个字段数
- JAVA基础编程练习题50题及经典算法9
- commons-fileupload.jar和commons-io.jar
- Java电话计费卡程序源代码
- java连接数据库实现银行管理系统
- 计算机专业外文翻译(JAVA)
- Java实习报告
- jxl.jar包最新jar包亲测可用
评论
共有 条评论