zoukankan      html  css  js  c++  java
  • 四则运算总结

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    
    public class four1 {
    static    int []sum = new int[100];
        
        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<100;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("
    ");
            // 换行
                 
            }
                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();
            // 关闭输入流,释放系统资源
    
        }
    
    
    
    }
    复制代码
    复制代码
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    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;
    
                @SuppressWarnings("resource")
                Scanner in=new Scanner(System.in);
                File f=new File(file);
                @SuppressWarnings("resource")
                BufferedReader bf=new BufferedReader(new FileReader(f));
                String content="";
                for(int i=0;i<100;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;
            }
    
    
    }
    复制代码
    复制代码
    import java.util.Scanner;
    
    public class mian {
        public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
           @SuppressWarnings({ "unused", "resource" })
        Scanner in=new Scanner(System.in);
           four1 f1=new four1();
           f1.input();
           four2 f2=new four2();
           f2.name();
       }
    
    
    }

    以上就是最终的运行代码,其中遇到了很多问题

    (1)在编写文件导入的时候,对导入文本TXT还不太了解,上网搜了好多种例子,经过照猫画虎勉勉强强写了出来。

    (2)还有就是在不知道该怎么去写回答正确的题目总数,不知道该怎么判断答案是否正确。

  • 相关阅读:
    32位和64位系统区别及int字节数
    C++默认参数不能是一个引用
    sprintf的缓冲区溢出
    linux之cp/scp命令+scp命令详解
    linux文件属性详细说明
    linux tar打包
    sed命令
    常用linux命令
    C++ 类T T t;构造时分配的内存在静态数据区 T t=new T()分配的内存在堆 这样说对吗
    Dom事件的三种绑定方式
  • 原文地址:https://www.cnblogs.com/lishengming00/p/9966604.html
Copyright © 2011-2022 走看看