大致要求:将十道计算题输出至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的更多相关文章

  1. JAVA语言课堂测试源代码及使用截图

    1源代码 第一部分 package 开学测试.java;class ScoreInformation {String stunumber;String name;double mathematicss ...

  2. JAVA web课堂测试1

    1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分)2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分)3性别:要求用单选框或下拉框实现 ...

  3. 2019.9.30极限测试 04.JAVA语言课堂测试试卷-极限测试

    题目存储在上传的文件当中. 代码实现 Subway 类: package ClassroomTest; public class Subway { private String railway; pr ...

  4. Java课程课堂作业代码

    前言 本文章只是单纯记录课堂老师布置的课堂作业代码,题目都比较简单,所以没有写解题思路,相信大家都能理解,当然其中有的解法和代码不是最优的,当时只是为了完成题目,后来也懒得改了,如果有不恰当或者不正确 ...

  5. java课程课后作业05之动手动脑

    一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...

  6. JAVA语言课堂测试01源代码(学生成绩管理系统)

    package 考试; /*信1807-8 * 20183798 * 向瑜 */ import java.util.Scanner; //ScoreInformation 类 class ScoreI ...

  7. java web课堂测试

    下面是web界面 <%@ page language="java" import="java.util.*" pageEncoding="UTF ...

  8. JAVA首次课堂测试总结

    暑期生活已经结束,新的学期也已经开始,而暑期放假之前约定的JAVA首次课堂测试也如期的到来,本次测试真的可以学到和多东西,也有很多感想. 首先体会最深的就是系主任所说的软件工程不是那么好学的,真的需要 ...

  9. 20172306 2018-2019《Java程序设计与数据结构课堂测试补充报告》

    学号 2017-2018-2 <程序设计与数据结构>课堂测试补充报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 刘辰 学号:20172306 实验教师:王志强 必 ...

随机推荐

  1. C# Activator

    需要动态的创建一个实例模型的时候,就用Activator.CreateInstance(Type type);如果是明确的知道要创建哪个实例的模型,就可以用 new C#在类工厂中动态创建类的实例,所 ...

  2. 阿里云ACE深圳同城会 开始报名

    大家好,阿里云 ACE深圳同城会本周末第一活动,主要大家一起聚聚,互相认识和熟悉,未来一起玩儿一起进步~ 通知大家一个好消息,当前凡是加入深圳ACE同城会组织(群)的朋友,通过跟群主报名申请,将有机会 ...

  3. mui 打开外网链接返回的正姿势!

    我们的返回分两种: 一:按返回按钮只能返回上一页 二:向右滑动一步返回app的面页

  4. leetcode 566. 重塑矩阵 c++ 实现

    1.问题描述: 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想 ...

  5. D3

    D3.js是一个JavaScript库,它可以通过数据来操作文档.D3可以通过使用HTML.SVG和CSS把数据鲜活形象地展现出来.D3严格遵循Web标准,因而可以让你的程序轻松兼容现代主流浏览器并避 ...

  6. [Pipy]利用pip2pi搭建本地pypi源

    当我们一个团队开发一个项目的时候,须要的Python第三方包基本是固定的.每次搭建新环境的时候总是由于各种内外网,https问题花费大量的时间来安装执行环境. 所以搭建一个本地的,小巧的,仅仅包括须要 ...

  7. SSE图像算法优化系列八:自然饱和度(Vibrance)算法的模拟实现及其SSE优化(附源码,可作为SSE图像入门,Vibrance算法也可用于简单的肤色调整)。

    Vibrance这个单词搜索翻译一般振动,抖动或者是响亮.活力,但是官方的词汇里还从来未出现过自然饱和度这个词,也不知道当时的Adobe中文翻译人员怎么会这样处理.但是我们看看PS对这个功能的解释: ...

  8. InfluxDB服务器启动流程

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 源码路径: github.com/influxdata/infl ...

  9. 每天一个linux命令(9):touch

    1.命令简介 touch命令将每个文件的访问时间和修改时间改为当前时间. 2.用法 touch [选项]... 文件... 3.选项 -a 只更改访问时间 -c, --no-create 不创建任何文 ...

  10. PowerShe 消息提示框测试

    1. 使用powerShell 弹出一个简单的消息框,代码如下,创建test.ps1脚本文件. $ConfirmPreference = 'None' $ws = New-Object -ComObj ...