源代码:

import java.*;
import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.Scanner;
import java.util.Random;
public class SS {
Scanner input=new Scanner(System.in);
public String getRandomString() {//length表示生成字符串的长度
int length=1;
String base = "+-*/"; //生成字符串从此序列中取
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++)
{
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
}
public static void main (String[] args)throws IOException
{
FileOutputStream fs = new FileOutputStream(new File("TEST.txt"));
PrintStream p = new PrintStream(fs);
FileInputStream fip = new FileInputStream("TEST.txt");
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
System.out.println("请输入你要生成的题目数量:");
Scanner input=new Scanner(System.in);
Random random = new Random();
int a=input.nextInt();//输入四则运算的题目数量
SS b=new SS();
int sum;
int count=0;
double[] x=new double[a];
for(int i=0;i<a;i++) {
if(i%4==0) { int m=random.nextInt(10)+1;
int n=random.nextInt(20)+1;
sum=n+m;
p.print( n);
p.print("+");
p.print( m);
p.print("=&");
p.append("\r\n");
x[i]=sum;
}
if(i%4==1) { int m=random.nextInt(10)+1;
int n=random.nextInt(20)+10;
sum=n-m;
p.print(n);
p.print("-");
p.print( m);
p.print("=&");
p.append("\r\n");
x[i]=sum;
}
if(i%4==2) { int m=random.nextInt(10)+1;
int n=random.nextInt(20)+10;
sum=n/m;
p.print( n);
p.print("/");
p.print( m);
p.print("=&");
p.append("\r\n");
x[i]=sum;
}
if(i%4==3) {
int m=random.nextInt(9)+1;
int n=random.nextInt(9)+1;
sum=n*m;
p.print( n);
p.print("*");
p.print( m);
p.print("=&");
p.append("\r\n");
x[i]=sum;
}
}
p.close();
int ch;
double sum1;
int j;
for(j=0;j<a;j++)
{
while ((ch = reader.read())!= '&')
{
System.out.print((char)ch);
}
sum1=input.nextDouble();
if(sum1==x[j])
{
System.out.println("true!");
count++;
}
else
{
System.out.println("flase!");
}
}
System.out.println("您的总分是:"+count);
reader.close();
}
}

运行结果:

此次测试自己没能在规定时间里完成,主要的障碍出现在随机产生运算符的方面以及将运算结果输入到文件当中,当解决了输入时又不能将结果从文件中输出到dos界面。在构造方法没能一个一个层次地去进行。以至于将所有框架弄到了一个方法中。使得程序过于杂乱,出现错误时修改了很多部分已没有改好。自己在理清构造方法关系方面的能力较薄弱。

11.14java课堂测试的更多相关文章

  1. 耿丹CS16-2班课堂测试作业汇总

    Deadline: 2016-11-01 11:59 作业内容 课堂测试作业总结 00.题目得5分,多半扣在格式上,有些同学代码写得很过分,已经很仁慈对待,同学们珍惜之: 01.界面设计得分不好,换行 ...

  2. 课堂测试ch06

    课堂测试ch06 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A. 1 B. 1/4 C. 1/2 D. 3/4 解析:在填充了之后,对于x和y数组,只有在引用 ...

  3. 20172306 2018-2019《Java程序设计与数据结构课堂测试补充报告》

    学号 2017-2018-2 <程序设计与数据结构>课堂测试补充报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 刘辰 学号:20172306 实验教师:王志强 必 ...

  4. 2017-2018-1 20155208 课堂测试(ch06)(补做)

    2017-2018-1 20155208 课堂测试(ch06)(补做) 1.( 多选题 | 1 分) 下面说法正确的是(ABC) A . 存储层次结构中最小的缓存是寄存器 B . 存储层次结构的中心思 ...

  5. 20155217 《信息安全系统设计基础》week16课堂测试

    20155217 <信息安全系统设计基础>week16课堂测试 在作业本上完成附图作业,要认真看题目要求并提交作业截图. 在set的过程中,我们需要将hour部分进行赋值,赋值我们采用&q ...

  6. # 课堂测试(CH6)20155218

    课堂测试(CH6) 1. 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A . 1 B . 1/4 C . 1/2 D . 3/4 解析:在x[0],y[0]时发 ...

  7. 20155222卢梓杰 课堂测试ch06补做

    20155222卢梓杰 课堂测试ch06补做 1.下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A . 1 B . 1/4 C . 1/2 D . 3/4 正确答案 ...

  8. 2017-2018-1 20155231 课堂测试 (ch06)

    2017-2018-1 20155231 课堂测试 (ch06) 1 (单选题|1分) 下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为(D) A .1 B .1/4 C ...

  9. 2017-2018-1 20155232 《信息安全系统设计基础》第十周课堂测试(ch06)补交

    # 2017-2018-1 20155232 <信息安全系统设计基础>第十周课堂测试(ch06)补交 上课时完成测试后在提交的时候,没有提交成功,进行补交. 1.下面代码中,对数组x填充后 ...

随机推荐

  1. python-开放类优化内存性能

    开放类:在运行期间,可动态向实例或类添加新成员,方法 1.实例不能添加方法到类,反之可以 class A: pass a = A() a.func = lambda x: x+1 a.func # & ...

  2. tornado-版本迁移工具alembic

    pip install pymysql pip install sqlalchemy pip install alembic 1.connect db_config.py #coding=utf-8 ...

  3. String和get

    在ch4的作业中暴露出了我不懂的一些问题,主要是和String有关的定义和头文件以及和get有关的函数. String 在C++中如果想定义字符串型,即String a:则需要用到头文件<str ...

  4. 普通rgb转换为16进制

    http://www.zhangxinxu.com/study/201003/color-exchange-test.html

  5. python中的keys、values、items

    keys()获取字典中所有的键并放入列表 values()获取字典中所有的值并放入列表 items()获取字典中所有的键值对并放入列表 举个例子: 1 a = { 2 "name" ...

  6. Spring Maven项目集成Springboot

    Maven管理的Spring项目,准备集成Springboot做接口 1.Springboot对Spring有版本要求 我用的Springboot版本:1.4.5.RELEASE,对应Spring的版 ...

  7. MySQL 5.7 时间显示修改(log_timestamps UTC)

    https://blog.csdn.net/leshami/article/details/78952842 在MySQL 5.7版本中,日志记录时间发生了变化,使用了UTC方式来记录日志时间,也就是 ...

  8. 排查bug的步骤

    原创文章,欢迎阅读,禁止转载. bug预防C/C++代码发布前的检查:检查有没有低级错误,可用cppcheck (bug预防是指在写程序的时候,bug没出现,积极的进行预防,减少.包括良好的编码风格. ...

  9. 03-body标签中相关标签-2

    主要内容: 列表标签 <ul>.<ol>.<dl>表格标签 <table>表单标签 <form> 一.列表标签 列表标签分为三种. 无序列表 ...

  10. hive案例

    数据倾斜: 操作• Join on a.id=b.id• Group by• Count Distinct count(groupby)• 原因• key分布不均导致的• 人为的建表疏忽• 业务数据特 ...