源代码:

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. uiautomator 代码记录 :BT接收测试

    package rom; import java.lang.*; import java.util.Random; import java.io.File; import com.android.ui ...

  2. jq check 复选变单选。

    $("input[type='checkbox']").on("click",function(e){ var $checked = $("input ...

  3. Mybatis七(MBG 逆向工程)

    官方地址:http://www.mybatis.org/generator/ https://github.com/mybatis/generator/releases <1>编写mbg. ...

  4. yum-cron更新 CentOS yum update 不升级内核版本方法

    http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...

  5. java位运算(操作)的使用

    位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法 ...

  6. Activity工作流学习(二)--Activity数据库

    23张表 ACT_RE_资源库流程规划表 act_re_deployment 部署信息表 act_re_model 流程设计模型部署表 act_re_procdef 流程定义数据表 ACT_RU_运行 ...

  7. 深度学习原理与框架-卷积网络细节-经典网络架构 1.AlexNet 2.VGG

    1.AlexNet是2012年最早的第一代神经网络,整个神经网络的构架是8层的网络结构.网络刚开始使用11*11获得较大的感受野,随后使用5*5和3*3做特征的提取,最后使用3个全连接层做得分值得运算 ...

  8. 机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)

    1.cv2.erode(src, kernel, iteration) 参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数 腐蚀操作原理:存在一个ker ...

  9. C# 调用 C++ 的 DLL 返回值为 bool 时,值混乱

    现象:C++ 导出函数的返回值为 false,C# 调用该函数获取的返回值却为 true . 原因:C++ 导出函数返回 false 时,采取的方式是: 将 C# 定义的用来接收返回值的 bool 所 ...

  10. APP-8.1-百度语音应用

    1.百度语音登录地址 http://yuyin.baidu.com/ 2.控制台创建应用 3.生成签名 3.1Postman软件应用 APP-8.2-Postman应用 3.2Postman执行 UR ...