zoukankan      html  css  js  c++  java
  • 20194655软件工程第二次作业

    一.需求分析

    (1)自动生成10道100以内的2个操作数的四则运算算式(+ - * /)

    (2)剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式

    (3)题目数量可定制

    (4)相关参数可控制

         是否包含乘法和除法
    
         操作数数值范围可控(如操作数 在100以内   还是1000以内)
    
         操作数是否含负数    
    

    (5)生成的运算题存储到外部文件result.txt中
    二.功能设计
    1.先实现随机数相加

        r1[i]=(int)(number3+Math.random()*(number4-number3));
        r2[i]=(int)(number3+Math.random()*(number4-number3));   
    
        S1[i]=(r1[i]+r2[i]);
    
      2.然后生成随机运算符
    
         建立了一个数组r3,将运算符存储在数组r3中
    
         static String[] r3={"+","-","*","/"};
    
      3.能够确保生成符号加减乘除计算
    

    基本功能
    自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内

    剔除重复算式。 2 + 3 = 和 2 + 3 = 是重复算式 2 + 3 = 和 3 + 2 = 不属于重复算式

    题目数量可定制

    相关参数可控

    是否包含乘法和除法
    操作数数值范围可控(如操作数 在100以内 还是1000以内)
    操作数是否含负数
    生成的运算题存储到外部文件result.txt中

    扩展功能

    (1)自动生成100以内四则运算

    (2)相关参数可以控制

    (3)操作数数值范围可控制

    是否包括负数
    
    是否包括乘法或者除法
    

    (4)生成的运算题存储到外部

    1. 设计实现:
      使用构造函数PrintStream Scanner ,PrintStream ps = new PrintStream(“d:/result.txt”);

    System.setOut(ps);调用此函数,可以将所有System.out.println();输出语句,打印到i我们创建的文件夹中

    Scanner t=new Scanner(System.in); 控制我们从键盘输入

    Math.random();产生随机不重复函数,我做了以下测试

    1. 测试运行:

    5.代码片段:
    //第一个操作数的选择
    2 int a=(int)(Math.random()tf+1);
    3
    4 if(zf==1) {//有负数
    5 int p=(int) (Math.random()
    2);
    6 switch(p) {
    7 case 0:a=a*(-1);//取负数
    8 System.out.print(a);break;
    9 case 1:
    10 System.out.print(a);break;
    11 }
    12 }
    13 if(zf==0) {//没有负数
    14 System.out.print(a);
    15 }
    ```

    运算符号的选择

    
         1 System.out.println("请选择是否包含*或者/:2:否 4:是 ");
         2         int fu=t.nextInt();
         3 if(fu==2) {//选择两个字符‘+’‘-’
         4                 int k=(int)(Math.random()*2);
         5                 switch(k) {//随机选择运算符
         6                 case 0:System.out.print("+");
         7                        break;
         8                 case 1:System.out.print("-");
         9                        break; 
        10                                                }
        11 if(fu==4) {//四个字符的‘+’‘-’‘*’‘/’
        12             int k=(int)(Math.random()*4+1);
        13             switch(k) {//随机选择运算符
        14             case 1:System.out.print("+");break;
        15             case 2:System.out.print("-");break;
        16             case 3:System.out.print("*");break;
        17             case 4:System.out.print("/");break;
        18             }
    
    等号右侧结果
    
    
         1 //等号
         2             
         3             System.out.print("=");
         4             //运算结果
         5             if(k==1) {
         6                 c=a+b;System.out.println(c);
         7             }
         8             if(k==2) {
         9                 c=a-b;System.out.println(c);
        10             }
        11             if(k==3) {
        12                 c=a*b;System.out.println(c);
        13             }
        14             if(k==4) {
        15                 c=a/b;System.out.println(c);
        16             }
    
    
    6.总结
    设计四则运算算法,在运行无误后,根据需求逐一增加代码功能,每增加一步进行测试,测试无误后,写下一个功能
    
    7.PSP
    
    ![](https://img2018.cnblogs.com/blog/1791095/201909/1791095-20190914163356956-598304163.png)
  • 相关阅读:
    第二次作业循环语句
    c语言01次作业分支,顺序结构
    PAT 1027. Colors in Mars
    PAT 1026 Table Tennis
    PAT 1035 Password
    PAT 1038. Recover the Smallest Number
    PAT 1028 List Sorting (25)
    PAT 1041 Be Unique (20)
    PAT 1025 PAT Ranking
    1037. Magic Coupon
  • 原文地址:https://www.cnblogs.com/12yy/p/11519481.html
Copyright © 2011-2022 走看看