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)
  • 相关阅读:
    KL散度、JS散度和交叉熵
    np.dot()计算两个变量的乘积
    numpy 相关统计
    sns.FacetGrid(),map用法
    df.to_dict()转化为字典数据
    springboot 热部署
    Springboot thymeleaf
    springboot 静态资源
    springboot yaml part2
    Warning: You cannot set a form field before rendering a field associated with the value. ant desgin pro form 表单报错
  • 原文地址:https://www.cnblogs.com/12yy/p/11519481.html
Copyright © 2011-2022 走看看