代码

package sizeyunsuan;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Random;
import java.util.Scanner;
public class SiZe {
@SuppressWarnings("unused")
public static void main(String[] args) throws FileNotFoundException {
String[] operate = new String[] { "+", "-", "*", "/" };//定义运算符数组
int[] numbers = new int[100];//定义数字部分数组
for (int i = 1; i <= 100; i++) {
numbers[i - 1] = i;
}
Random rand = new Random();//定义随机数
@SuppressWarnings("resource")
Scanner in = new Scanner( System.in );
String fiilename ="d:/shuchu.txt";
int operand1 = 0 ;
int operand2 = 0;
int operator;
int result;
int count=0; //统计正确的题目数量
int i;
duqu[] cal = new duqu[100]; //30道题目 //随机题目并显示序号与题目
for( i=0; i<100; i++ ){
operator = rand.nextInt(4)+1; switch( operator ){
case 1:
operand1 = rand.nextInt(100);
operand2 = rand.nextInt(100);
break;
case 2: //减法不出现负数
operand1 = rand.nextInt(100);
operand2 = rand.nextInt( operand1 );
break;
case 3: //乘除范围更小
operand1 = rand.nextInt(10);
operand2 = rand.nextInt(10);
break;
case 4:
operand2 = rand.nextInt(9)+1;
operand1 = rand.nextInt(81-operand2)+operand2;
break;
} System.out.print( (i+1) +" ");
cal[i] = new duqu( operand1, operator, operand2);
cal[i].manager();
if(i==0)
duqu.flushFile(fiilename);
duqu.OutputFile(fiilename,cal[i]);
PrintStream out=System.out; }
}
}
package sizeyunsuan;

import java.io.*;
public class duqu { private int operator; //操作数
private int operand1; //操作数前面的数
private int operand2; //操作数后面的书
private int result; //运算结果,除法结果取整数部分
private int statistics; //统计正误
private String str; //记录题目 public int getResult(){
return result;
} public int getStatistics(){
return statistics;
} public duqu( int operand1 , int operator , int operand2 ){
this.operand1 = operand1;
this.operator = operator;
this.operand2 = operand2;
} public void manager(){
switch(operator){
case 1:
str = operand1 +" + " + operand2 +" = ";
result = operand1 + operand2;
break;
case 2:
str = operand1 +" - " + operand2 +" = ";
result = operand1 - operand2;
break;
case 3:
str = operand1 +" * " + operand2 +" = ";
result = operand1 * operand2;
break;
case 4:
str = operand1 +" / " + operand2 +" = ";
result = operand1 / operand2;
break;
}
System.out.println(str);
} public void judge( int result ){ //判断正误
if( this.result == result){
statistics = 1; //正确为1
}
else
statistics = 0; //错误为0
} public static void OutputFile(String filename,duqu cal){
@SuppressWarnings("unused")
File file = new File(filename);
FileWriter fw = null;
try {
fw = new FileWriter(filename,true);
} catch (IOException e) {
e.printStackTrace();
}
PrintWriter p = new PrintWriter(fw);
p.println(cal.str);
p.close();
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
} public static void flushFile(String filename){
File file = new File(filename);
FileWriter fw;
try {
fw = new FileWriter(file);
fw.write("");
fw.flush();
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

于下午四点四十完成

总结:主要自己对于缓冲流导入文本文件夹,输出文本文件夹,不太理解,一直困于此处,对于四则运算的正误判断也有些许的疑问,然后通过百度查阅,以及询问同学弄懂了自己不是很会的地方,感觉自己在这次课堂测验上学到了很多

Java第二次考试的更多相关文章

  1. 2018-03-11 20165235 祁瑛 Java第二周考试总结

    20165235 祁瑛 Java第二周考试总结 课后习题p16 代码编写 class Person { void speakHello (){ System.out.print("nin h ...

  2. 20165235 祁瑛 Java第四周考试总结

    20165235 祁瑛 Java第四周考试总结 课后习题p29 p45 代码编写 import java.util.*; class Example2_5{ public static void ma ...

  3. JAVA第二次作业展示与学习心得

    JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...

  4. Java第二周作业

    Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...

  5. java第二周的作业

    package java第二周学习; import javax.swing.JOptionPane; public class 数学题 { private int a; private int b; ...

  6. Java 第二次测试总结

    Java 第二次测试总结 1. 相关知识点总结 Java测试题循环与递归知识点 补充知识点: for循环语句:for(表达式1:表达式2:表达式3)表达式一负责完成变量的初始化!表达式2是值为bool ...

  7. “全栈2019”Java第二章:安装JDK11(Windows)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...

  8. 20155210潘滢昊 Java第二次试验

    20155210潘滢昊 Java第二次试验 实验内容 学会JunitTest的使用 实验代码 MyUtilTest代码: import org.junit.*; import junit.framew ...

  9. “全栈2019”Java第二十九章:数组详解(中篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. 消息中间件系列二:RabbitMQ入门(基本概念、RabbitMQ的安装和运行)

    一.基本概念 1. AMQP AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议.支持不同语言和不同的产品 2. 生产者 ...

  2. asp.net core cors中间件

    public class CorsMiddleware { private readonly RequestDelegate _next; public CorsMiddleware(RequestD ...

  3. java web (sevlet)请求之get,post,forward,redirect

    [参考]web请求之get,post,forward,redirect 1,form表单:可以采用post或者get请求,客户端主动跳转,url地址会改变为提交后的地址 2,forward:forwa ...

  4. nginx set变量后lua无法改值

    今天在使用lua修改nginx自定义变量的时候,发现死活更改不了,如下所示: 有问题的代码 set $check "1"; rewrite_by_lua_file 'conf/ru ...

  5. Python代码转换为exe可执行程序详解

    1:安装pyinstaller pip install pyinstaller 2,制作exe 1,先写一个hello.py print('hello world!') input() 2.执行(在s ...

  6. Excel导入工具类兼容xls和xlsx

    package com.bj58.finance.platform.operation.provider.util; import org.apache.log4j.Logger; import or ...

  7. NB-Iot的应用领域、覆盖范围,是什么

    该部分分享的是物联网各垂直应用领域里,NB-IoT技术的部署,看看适合NB-IoT技术的垂直应用场景有哪些?垂直应用服务商又该如何部署? 1 NB-IoT适合的垂直应用场景有哪些? 2 NB-IoT垂 ...

  8. kaggle竞赛-保险转化-homesite

    时间格式的转化 查看数据类型 查看DataFrame的详细信息 填充缺失值 category 数据类型转化 模型参数设定 结论 该项目是针对kaggle中的homesite进行的算法预测,使用xgbo ...

  9. Content-Length mismatch, received 431737 bytes out of the expected 760836

    可能原因是 composer 的安装包网址是国外镜像所致,被长城防火墙屏蔽了.可执行以下命令来解决:composer config -g repo.packagist composer https:/ ...

  10. Nestjs 身份验证

    文档 yarn add @nestjs/passport passport passport-http-bearer @nestjs/jwt passport-jwt auth.service.ts ...