• 11.14java课堂测试


    源代码:

    import java.*;
    import java.util.*;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.util.Scanner;
     import java.util.Random;
    public class SS {
          Scanner input=new Scanner(System.in); 
    public String getRandomString() {//length表示生成字符串的长度    
                int length=1;
                String base = "+-*/";   //生成字符串从此序列中取
                Random random = new Random();   
                StringBuffer sb = new StringBuffer();   
                for (int i = 0; i < length; i++) 
                {   
                    int number = random.nextInt(base.length());   
                    sb.append(base.charAt(number));               
                }  
              return sb.toString();
            }
     public static void main (String[] args)throws IOException
          {
         FileOutputStream fs = new FileOutputStream(new File("TEST.txt"));
            PrintStream p = new PrintStream(fs);
            FileInputStream fip = new FileInputStream("TEST.txt");
            InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
          System.out.println("请输入你要生成的题目数量:"); 
          Scanner input=new Scanner(System.in);
          Random random = new Random(); 
          int a=input.nextInt();//输入四则运算的题目数量
           SS b=new SS();
            int sum;
            int count=0;
            double[] x=new double[a];    
           for(int i=0;i<a;i++) {
               if(i%4==0) {
                  
                   int m=random.nextInt(10)+1;
                   int n=random.nextInt(20)+1;
                    sum=n+m;
               p.print( n);
              p.print("+");
              p.print( m);
              p.print("=&");
              p.append("
    ");
              x[i]=sum;
              }
               if(i%4==1)  {
                   
                   int m=random.nextInt(10)+1;
                   int n=random.nextInt(20)+10;
                    sum=n-m;
               p.print(n);
              p.print("-");
              p.print( m);
              p.print("=&");
              p.append("
    ");
              x[i]=sum;
              }
               if(i%4==2)  {
                    
                   int m=random.nextInt(10)+1;
                   int n=random.nextInt(20)+10;
                    sum=n/m;
               p.print( n);
              p.print("/");
              p.print( m);
              p.print("=&");
               p.append("
    ");
              x[i]=sum;
              }
               if(i%4==3) { 
                   int m=random.nextInt(9)+1;
                   int n=random.nextInt(9)+1;
                 sum=n*m;
               p.print( n);
              p.print("*");
              p.print( m);
              p.print("=&");
              p.append("
    ");
              x[i]=sum;
              }
           }
        p.close();
        int ch;
        double sum1;
        int j;
        for(j=0;j<a;j++)
        {
            while ((ch = reader.read())!= '&')
        {
            System.out.print((char)ch);
        }
        sum1=input.nextDouble();
        if(sum1==x[j])
        {
            System.out.println("true!");
            count++;
        }
        else
        {
            System.out.println("flase!");
        }
        }
        System.out.println("您的总分是:"+count);
        reader.close();
    }
    }

     运行结果:

      

            此次测试自己没能在规定时间里完成,主要的障碍出现在随机产生运算符的方面以及将运算结果输入到文件当中,当解决了输入时又不能将结果从文件中输出到dos界面。在构造方法没能一个一个层次地去进行。以至于将所有框架弄到了一个方法中。使得程序过于杂乱,出现错误时修改了很多部分已没有改好。自己在理清构造方法关系方面的能力较薄弱。

  • 相关阅读:
    项目结束后一点心得
    提交disabled按钮的几种方法
    发现VS2005一个BUG
    单一文件上传防止粘帖及格式限制
    MessageBox.Show常用的2个方法
    一点感受一点体会
    EXCEL导入GridView,然后再汇入数据库.
    2根ECC内存
    (转载)gridview添加删除确认对话框
    反射调用Method
  • 原文地址:https://www.cnblogs.com/lover995/p/9966338.html
Copyright © 2020-2023  润新知