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 实验教师:王志强 必 ...
随机推荐
- CentOS7中设置Tomcat8开机自启动
CentOS7中设置Tomcat8开机自启动 本文介绍了在centos7中配置tomcat的开机自启动的一些操作步骤,仅供参考. 环境是CentOS 7 ,jdk版本是1.8.0_191,tomcat ...
- 在Ubuntu18.04下配置hadoop集群
服务器准备 启动hadoop最小集群的典型配置是3台服务器, 一台作为Master, NameNode, 两台作为Slave, DataNode. 操作系统使用的Ubuntu18.04 Server, ...
- MySQL在INSERT IGNORE未新增记录时避免AUTO_INCREMENT自增
在MySQL5.7中做INSERT IGNORE时发现, 即使INSERT未成功执行, 表的自增主键却自动加1了, 在某些情况下需要避免这种行为. 需要修改的变量是 innodb_autoinc_lo ...
- Docker入门实践
Docker是一门很成熟的容器技术,类似虚拟机技术主要用做环境的隔离,方便环境的复制镜像,虚拟机是基于操作系统这一层的,而Docker更加的轻量级,像是“应用”层级的.比如我需要一个MySQL环境.一 ...
- ElasticSearch 5.0及head插件安装
一.elasticsearch安装配置 1.官网下载源码包 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0 ...
- linux内核剖析(七)Linux进程间通信的几种方式总结
进程间通信概述 进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另 ...
- Tomcat服务器安装、配置、测试
Tomcat服务器安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.Tomcat服务器安装配置 4.Tomcat服务器简单测试 5.注意事项 >>看不清的图 ...
- pandas DataFrame apply()函数(2)
上一篇pandas DataFrame apply()函数(1)说了如何通过apply函数对DataFrame进行转换,得到一个新的DataFrame. 这篇介绍DataFrame apply()函数 ...
- 《Essential C++》读书笔记 之 目录导航
<Essential C++>读书笔记 之 目录导航 2014-07-06 第一章:<Essential C++>读书笔记 之 C++编程基础 第二章:<Essentia ...
- 西山居首页jQuery焦点图代码
西山居首页jQuery焦点图代码是一款带文字描述,左右箭头,索引按钮,自动轮播切换的jQuery特效代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div style ...