资源简介
编写一个小学生整数四则运算练习软件,每次运行程序时要求先输入用户名,之后计算机随机生成题目,程序每次显示一道题目,要求用户输入答案,之后询问用户是否要继续。如果用户选择不继续,则程序再显示全部题目,标准答案和用户的答案,并给出得分(每道题目的分值为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包
相关资源
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
- java软件工程师简历模板——应届生
- DES(CFB) JAVA
- java读取局域网共享机器文件
- [免费]java学习 存储过程
评论
共有 条评论