博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四则运算随机生成
阅读量:5845 次
发布时间:2019-06-18

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

           这次题目要求是随机生成四则运算题目,缓存到文件中,然后显示在控制台中,由用户输入答案,然后电脑判断用户输入的结果是否正确,最后输出用户总共做对了几道题,做错了几道题。

题目思路:

       首先,我们要随机生成四则运算的题目,每生成一道题目,就应该计算出它的答案,然后调用把题目传输到文件中的函数以及把答案传输到文件中的函数。然后在主函数中把文件中的题目通过输出函数显示在控制台上。用户每输入一个结果,就会自动显示下一个题目。同时正确答案存一个数组中,用户输入的答案存一个数组。然后判断用户输入的答案是否正确。以下是代码:

package szys;import java.io.*;import java.util.Random;import java.util.Scanner;public class szys {    public static void outartical(File file,String x[]) throws IOException     {            Scanner input=new Scanner(System.in);            StringBuilder result=new StringBuilder();            String a=null;            String b=null;            String c=null;            String d=null;            int i=0;            //构造一个BufferedReader类来读取文件            BufferedReader br=new BufferedReader(new FileReader(file));            String s=null;            while((s=br.readLine())!=null)//使用readLine方法,一次读一行            {                System.out.println("第"+(i+1)+"道题:");                System.out.println(s);                System.out.print("答案:");                x[i]=input.next();                i++;                System.out.println("**********");            }            br.close();    }    public static void outartical2(File file,String x[]) throws IOException     {            Scanner input=new Scanner(System.in);            StringBuilder result=new StringBuilder();            String a=null;            String b=null;            String c=null;            String d=null;            int i=0;            //构造一个BufferedReader类来读取文件            BufferedReader br=new BufferedReader(new FileReader(file));            String s=null;            while((s=br.readLine())!=null)//使用readLine方法,一次读一行            {                x[i]=s;                i++;            }            br.close();    }        public static void shuru (int l) throws IOException    {        FileWriter fw = null;        FileWriter fd=null;        try {            //创建字符输出流            fw = new FileWriter("poem.txt");            fd=new FileWriter("daan.txt");                        int x;            int y;            int z;//随机产生1~4的数字            //记录题目个数            char s;//分别对应加减乘除            String m=null;            int b = 0;            Random random=new Random();                       for(int i=1;i<=l;i++)            {                x=0;y=0;z=0;                x=random.nextInt(100)+1;//随机产生1~100数字                y=random.nextInt(100)+1;//随机产生1~100数字                z=random.nextInt(4)+1;//随机产生1~4数字                switch(z)                {                    case 1:m=x+"+"+y+"=";                       b=x+y;                       break;                    case 2://System.out.println(x+"-"+y+"=");                        ///break;                     if(x>=y)                     {                         m=x+"-"+y+"=";                         b=x-y;                     }                      else                           {                            m=y+"-"+x+"=";                            b=y-x;                          }                                           break;                    case 3:m=x+"*"+y+"=";;b=x*y;                    break;                    case 4:m=x+"/"+y+"=";b=x/y;                    break;                }              fw.write(m+"\r\n");              fd.write(String.valueOf(b)+"\r\n");            }              } catch (IOException ioe) {            ioe.printStackTrace();        } finally {            //使用finally块来关闭文件输出流            if (fw != null&&fd!=null)             {                fw.close();                fd.close();             }           }    }        public static void main(String []args) throws IOException {        Scanner input=new Scanner(System.in);        int l=0,k1=0,k2=0;        String x[]=new String[150];        String y[]=new String[150];        int x1[]=new int[150];        int y1[]=new int[150];         System.out.println("题数:");           l=input.nextInt();        shuru(l);        File file = new File("poem.txt");        outartical(file,x);        File file1 = new File("daan.txt");        outartical2(file1,y);        for(int i=0;i

 完成时间:5点

问题:文件的运用不熟练,导致大部分时间用来做对文件的操作了,而且总是出错。

转载于:https://www.cnblogs.com/liyuchao/p/9964861.html

你可能感兴趣的文章
解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法...
查看>>
【模板】kmp
查看>>
PHP实现文件下载
查看>>
开博纪念
查看>>
用游标备份单个或所有db
查看>>
Python之string
查看>>
图解用Apache + Mod_Python 部署python web应用
查看>>
nginx 400 Bad Request
查看>>
Hibernate笔记——(ONE TO ONE)一对一
查看>>
我的友情链接
查看>>
留在时光中的永恒记忆——父亲(下)
查看>>
图像处理之霍夫变换(直线检测算法)
查看>>
Preconditions的简单学习
查看>>
WES 7 下如何处理蓝牙模块驱动安装失败的问题
查看>>
Linux0.11内核--系统中断处理程序int 0x80实现原理
查看>>
我的友情链接
查看>>
IOS Core Animation Advanced Techniques的学习笔记(三)
查看>>
Win8系统下使用应用商店窗口提示“无法使用内置管理员账户打开应用商店
查看>>
生产环境中mysql主从同步/完整/增量备份
查看>>
我的友情链接
查看>>