博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
05-文件与流-课堂测试(四则运算)
阅读量:4701 次
发布时间:2019-06-09

本文共 3204 字,大约阅读时间需要 10 分钟。

编程思想

首先根据题目要求,需要写出一个程序,能够实现,随机生成100个四则运算,并将其输入进入Test.txt文件中,然后从该文件中一行一行进行输出,并于正确答案进行比较,判断是否正确。

然后开始编程

1.实现随机生成100道四则运算,并与正确答案进行比较,在控制台进行输入输出;

2.连接文件,将随机生成的100道四则运算,按行输出到文件中;

3.一行一行将文件中的100道四则运算,重新输出到控制台上;

4.解决按行输出算式计算结果,并与正确答案进行比较的问题(利用数组)。

最后完成题目。

遇到的问题

1.开始把问题想错,程序只能实现,做一道题,将自己的答案与正确答案进行比较之后才能输入至文本文件,而不能先将100道输入文件,然后输出。

2.在第4步按行比较判断,程序总是抛出异常,最后发现是数组出了问题,给数组赋长度之后解决了问题。

开始与完成时间:14:00 - 16:30

源代码

import java.io.FileNotFoundException;import java.io.PrintWriter;import java.util.Scanner;import java.io.*;public class suijishengcheng {        //四则运算计算    int a,b;    public int add(int a,int b) {        return a+b;    }    public int   reduce(int a,int b)    {        return a-b;    }    public int   multiplication(int a,int b)    {        return a*b;    }    public int   division(int a,int b)    {        if(b!=0)        return a/b;        else return 0;    }        public static void main(String[] args) {                int sum = 0;//记录总成绩,每题10分        int[] jieguo = new int[1000];        suijishengcheng sj = new suijishengcheng();//定义对象,便于四则运算加减乘除的调用        Scanner in = new Scanner(System.in);        PrintWriter out = null;//输出文件的使用        try {            out = new PrintWriter("Test.txt");        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                        for (int i = 1;i <=100; i++) {             int a = (int) Math.round(Math.random() * 100);             int b = (int) Math.round(Math.random() * 100);             int m= (int) Math.round(Math.random() * 3);             switch(m)               {               case 0:                   {
while(b==0){ b = (int) Math.round(Math.random() * 100); } jieguo[i] = sj.division(a, b); out.println(a+"/"+b+"="); break; } case 1: { jieguo[i] =sj.multiplication(a, b); out.println(a+"*"+b+"="); break; } case 2: jieguo[i] = sj.add(a, b); out.println(a+"+"+b+"="); break ; case 3: jieguo[i] = sj.reduce(a, b); out.println(a+"-"+b+"="); break ; } } //System.out.println("成绩"+sum); //out.println("成绩:"+sum); out.close(); try { FileReader fr = new FileReader("Test.txt");//需要读取的文件路径 BufferedReader br = new BufferedReader(fr); String s = br.readLine(); for(int j = 1;j<=100;j++) { while(s!=null)//如果当前行不为空 { System.out.println(s);//打印当前行 /*int c = in.nextInt(); if(c == jieguo[j]) { sum += 10; System.out.println("恭喜答案正确"); } else { System.out.println("抱歉,答案错误"); }*/ s= br.readLine();//读取下一行 } } br.close();//关闭BufferReader流 fr.close(); //关闭文件流 }catch(IOException e)//捕捉异常 { System.out.println("指定文件不存在");//处理异常 } } }

 

转载于:https://www.cnblogs.com/Qi77/p/9964872.html

你可能感兴趣的文章
JavaScript Patterns 3.7 Primitive Wrappers
查看>>
一个打砖块的小游戏1.0 KILL THE BLOCKS !
查看>>
学习、发现和创造-一切皆有规律
查看>>
107.为什么要使用数据库之文件增删查改直接操作
查看>>
深度学习笔记 (一) 卷积神经网络基础 (Foundation of Convolutional Neural Networks)
查看>>
python三个自带装饰器的功能与使用(@property、@staticmethod、@classmethod)
查看>>
三分法——求解凸性函数的极值问题
查看>>
HTML&CSS构建和设计网站
查看>>
快速排序+分治法
查看>>
HTML5开发之meta标签的viewport使用说明
查看>>
RF 中一条用例执行失败,终止其他用例执行
查看>>
Java web表层技术专业词汇
查看>>
Java 常用对象-Scanner类
查看>>
第八次作业
查看>>
PopupWindow计算弹出位置
查看>>
【codevs2485】七夕祭(贪心,环形纸牌均分)
查看>>
引用类型--单体内置对象
查看>>
Number()、parseInt()、parseFloat()、~~、~
查看>>
程序猿的爱情--2011-01-14
查看>>
解决stackOverflow打开慢的问题
查看>>