Java第二次考试
代码
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第二次考试的更多相关文章
- 2018-03-11 20165235 祁瑛 Java第二周考试总结
20165235 祁瑛 Java第二周考试总结 课后习题p16 代码编写 class Person { void speakHello (){ System.out.print("nin h ...
- 20165235 祁瑛 Java第四周考试总结
20165235 祁瑛 Java第四周考试总结 课后习题p29 p45 代码编写 import java.util.*; class Example2_5{ public static void ma ...
- JAVA第二次作业展示与学习心得
JAVA第二次作业展示与学习心得 在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来.具体的使用方法和其他得组件并没有什么大的不同. 另外我通过查阅资料使用 ...
- Java第二周作业
Java第二周作业 本周作业: 参考http://www.cnblogs.com/rocedu/p/7911138.html 学习第二三章视频 参考http://www.cnblogs.com/roc ...
- java第二周的作业
package java第二周学习; import javax.swing.JOptionPane; public class 数学题 { private int a; private int b; ...
- Java 第二次测试总结
Java 第二次测试总结 1. 相关知识点总结 Java测试题循环与递归知识点 补充知识点: for循环语句:for(表达式1:表达式2:表达式3)表达式一负责完成变量的初始化!表达式2是值为bool ...
- “全栈2019”Java第二章:安装JDK11(Windows)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...
- 20155210潘滢昊 Java第二次试验
20155210潘滢昊 Java第二次试验 实验内容 学会JunitTest的使用 实验代码 MyUtilTest代码: import org.junit.*; import junit.framew ...
- “全栈2019”Java第二十九章:数组详解(中篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- HIVE metastore Duplicate key name 'PCS_STATS_IDX' (state=42000,code=1061)
HDP 版本:2.4.0.0-169. 解决:将hive 所在 节点上的/usr/hdp/2.4.0.0-169/hive/script/metastore/upgrade/msql/hive-sch ...
- OEL的下载
https://edelivery.oracle.com 注意的是:第一次下载安装的时候需要首先安装installer.exe软件,然后再下载即可.
- 搭建Pypi转发服务
有时候有些正式环境的机器,不能访问外网,就只能在能访问外网的机器上搭建一个转发服务. 一.安装包 pip install flask_pypi_proxy flask_pypi_proxy 二.启动 ...
- linux telnet检测与某个端口是否开通
转自:http://blog.51cto.com/meiling/1982402 一:telnet此法常被用来检测是个远端端口是否通畅. 测试域名: # telnet baidu.com 80 Try ...
- JavaScript 运行机制详解:Event Loop
参考地址:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是 ...
- LeetCode - 503. Next Greater Element II
Given a circular array (the next element of the last element is the first element of the array), pri ...
- java httpclient post xml demo
jar archive: http://archive.apache.org/dist/httpcomponents/ 基于httpclient 2.0 final的demo(for jdk1.5/1 ...
- springboot的工作原理之配置文件的加载
有一个非常底层的类SpringFactoriesLoader,顾名思义,就是加载工厂的类,没有办法,spring中工厂太多了,加载工厂类也需要一个类,参考博文: https://blog.csdn.n ...
- ArcGIS AddIN Sample学习笔记
1.AddInEditorExtension 功能描述:编辑器扩展,实现在编辑要素,对编辑事件的监听,及对新创建的要素的处理 核心代码: void Events_OnStartEditing() { ...
- SIP消息
SIP消息有两种类型:从客户机到服务器的请求消息(Request)和从服务器到客户机的响应消息(Response). 呼叫控制请求: --INVITE:发起呼叫,并对会话进行描述 --ACK:主叫确认 ...