源代码:

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. 关于CSS3属性transition的触发

    关于怎么触发transition的效果,前面有篇文章说过一次,<关于transition和animation>,而且在实际的项目生产中,也是一直这么使用的,因为明明知道直接添加class是 ...

  2. mysql-5.5.50-winx64

    1.help 2.Service 3.Configure 4.User 5.design last 1.获取帮助文档 cd C:\Program Files\mysql\mysql-5.5.50-wi ...

  3. jQuery对象的属性操作

    jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr ...

  4. python中str的索引、切片

    1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...

  5. 40. 数据泵导入导出impdp、expdp

    一.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories; 二.创建逻辑目录,该命令不会在 ...

  6. asp.net webform/mvc导出Excel通用代码

    最近将自己在项目中经常用到的excel导出方法分析如下,如有不妥之处望他人指出,如果有更好的方法希望展示出来互相学习. //导出事件 protected void btnexcel_Click(obj ...

  7. sqlserver中 事物 索引及视图

      事务 1.什么是事务 事务是一个不可分割的工作逻辑单元,它包含了一组数据库的操作命令,并且所有命令作为一个整体一起向系统提交或撤销操作请求,即要么都执行,要么都不执行 2.事务的4个属性 (1). ...

  8. leetcode题解 candy

    要求的条件是: 1.每个人最少一个糖果. 2.相邻的小朋友,要保证,评分高的比评分低的糖果多. 如果从一侧扫描的话,容易确定的就是递增序列,只要上升1个就够了. 容易出现问题的就是:遇到下降期,或者相 ...

  9. JSP基本

    JSPとは.HTMLファイルにJavaコードを埋め込んでおき.クライアントの要求に応じてコードを実行.処理結果のみをクライアントに送信する技術です. 1.JSPは実はサーブレットです.最初にリクエスト ...

  10. 尚硅谷redis学习5-初识redis.conf

    redis.conf是redis的配置文件,在解压后的redis安装文件夹下 单位 1  配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit    2  对大小写不敏感 包含 ...