个人开发流程—任倍弘

个人开发流程—四则运算

  

一.题目要求

(1)命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。

(2)运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。

二.需求分析

(1)一次可以出一千道道题目,并且没有重复的,把题目写入一个文件中

(2)当你有多于一个运算符的时候,如何对一个表达式求值?

 

三.Psp

 

任务内容

计划完成需要的时间(min)

实际完成需要的时间(min)

计划

60

90

l  明确需求和其他相关因素,估计每个阶段的时间成本。

20

25

开发

60

108

l  需求分析

5

10

l  生成设计文档

5

8

l  设计复审

10

15

代码规范

5

10

具体设计

20

30

具体编码

90

150

代码复审

10

15

测试

10

15

报告

15

20

 

l  测试报告

10

10

l  计算工作量

5

5

l  事后总结,并提出改进计划

5

5

 

四.测试代码

 

public static void main(String[] args) {
    System.out.println("请输入要输出的题目数量");
    Scanner sc=new Scanner(System.in);
    int inter=sc.nextInt();
    for (int i=1; i<=inter;i++) 
    {
        Random r=new Random();
        
        String[] str=new String[] {"+","-","*","/"};
        
        int [] numbers=new int[100];
        for(int j=1;j<=100;j++)
        {
            numbers[j-1]=j;
        }
        
        
        String str1=str[r.nextInt(4)];
        String str2=str[r.nextInt(4)];
        double num1=numbers[r.nextInt(100)];
        double num2=numbers[r.nextInt(100)];
        double num3=numbers[r.nextInt(100)];
        double result = 0;
        double re1=0;
        double re2=0;
          if(str1=="*") {
                re1=num1*num2;
                switch(str2) {
                case "/":
                    result=re1/num3;
                    break;
                case "+":
                     result=re1+num3;
                     break;
                case "-":
                    result=re1-num3;
                
                case "*":
                     result=re1*num3;
                     break;
                               }
                      }
        
          if(str1=="/") {
                 re1=num1/num2;
                switch(str2) {
                case "*":
                    result=re1*num3;
                    break;
                case "+":
                     result=re1+num3;
                     break;
                case "-":
                    result=re1-num3;
                    break;
                case "/":
                    result=re1/num3;
                    break;
                               }
                      }
          if(str1=="+") {
                re1 = num1+num2;
                switch(str2) {
                case "-":
                    result = re1-num3;
                    break;
                case "*":
                    re2 = num2*num3;
                    result = re2+num1;
                    break;
                case "/":
                    re2 = num2/num3;
                     result = re2+num1;
                     break;
                case "+":
                    result = re1+num3;
                     break;
                               }
                      }
          
          if(str1=="-") {
                re1 = num1-num2;
                switch(str2) {
                case "+":
                    result = re1+num3;
                    break;
                case "*":
                    re2 = num2*num3;
                    result=num1-re2;
                    break;
                case "/":
                    re2 = num2/num3;
                     result = num1-re2;
                     break;
                case "-":
                    result = re1-num3;
                    break;
                               }
                      }

 

五.总结

 

在现实生活中觉得简单的四则运算,用代码来实现时并不简单,要注意的问题很多,例如:四则运算的符号优先问题,随机数生成。

拿到题目时要先有大致的逻辑去写代码,有了清晰的逻辑就知道写代码的顺序,就能知道自己写代码的步骤,能具体写出相应的代码。

写代码时有不懂得的就要问,或者上网查,找到相关的解决方法,可以借鉴别人写的代码,自己在进行整改,最后达到自己想要的结果。

posted @ 2021-04-10 23:18  有猿  阅读(129)  评论(0)    收藏  举报