• 个人开发流程 --计应191第二组宋嘉琪


    一、目的

    学会用Java编写简单的四则运算。

    二、步骤

    思路分析:拿到表达式后,按照人的计算方法先乘除后加减,遍历运算符,得出结果。

    三、核心代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    package sizeyunsuan;
     
    import java.util.Scanner;
     
    public class Szys {
            public static void main(String[] args) {
                Scanner str1 = new Scanner(System.in);
                System.out.println("请输入:");
                String str = str1.nextLine();
                String strs = str.replace("+","-");
                String[] s = strs.split("-");
                double temp=0;
                double sum=0;
                //遍历截取了的字符数组
                for(String a:s){
                    //查找有*或/的数组
                    if(a.contains("*")||a.contains("/")){
                        //遍历带符号的数组
                        for(int i=0;i<a.length();){
                            //设置一个变量,来控制下标,
                            int count = 1;
                            //需要截取的字符串长度
                            a:for(int j=i+1;j<a.length();j++){
                                //取出下一个字符
                                char c = a.charAt(j);
                                //System.out.println(c+"===");
                                //如果字符是*或/
                                if(c=='*'||c=='/'){
                                    //终止a循环
                                    break a;
                                }else{
                                    //如果不是就长度加一;
                                    count++;
                                }
                            }
                            //截取字符串
                            String strNun =a.substring(i,i+count);
    //                      System.out.println(strNun+"=========");
                            //转变为数字
                            double d = Double.parseDouble(strNun);
                            //第一个数字
                            if(i==0){
                                temp = d;
                            }else{
                                //取出当前的数字前面的符号
                                char t =a.charAt(i-1);
                                //如果运算符是*
                                if(t=='*'){
                                    //前一个数就乘它
                                    temp*=d;
                                }else if(t=='/'){
                                    temp/=d;
                                }
                            }
                            //把坐标向后移一个长度
                            i+=count+1;
                        }
                        str = str.replace(a, temp+"");
                    }
                }
                //计算加减,与上面的思路一样
                for(int i = 0;i<str.length();){
                    int count =1;
                    a:for(int j=i+1;j<str.length();j++){
                        char c = str.charAt(j);
                        if(c=='+'||c=='-'){
                            break a;
                        }else{
                            count++;
                        }
                    }
                    String strNum = str.substring(i,i+count);
                    double d  =Double.parseDouble(strNum);
                    if(i==0){
                        sum=d;
                    }else {
                        char s2 =str.charAt(i-1);
                        if(s2=='+'){
                            sum+=d;
                        }else if(s2=='-'){
                            sum-=d;
                        }
                    }
                    i+=count+1;
                }
                System.out.println(sum);
            }
        }

      

     四、运行结果

     五、psp阶段

    psp 任务内容 计划完成需要用的时间 实际完成所用的时间
    planning 计划 2 3
    明确需求 估计这个任务大概需要多久,以及所进行的步骤 2 3
    Development 开发 40 60
    Analysis 需求分析 5 10
    Design 具体设计 2 5
    Coding 具体编码 40 68
    Code Review 代码复审 20 30
    Test 测试,包括修改 2 15
    Reporting 报告 1 2
    ////// 计算工作量 2 3
    ///// 事后总结,并提出规程还进计划 5 7

    六、个人总结

    在写代码的时候,需要先有清晰的思路,现在脑子里大概构思好,然后再进行代码的编写,而且在写代码的过程中,需要不断的回忆以前的旧知识,也可以复习一下以前的知识,真是佩服那些程序员们,真厉害,因为是团队的问题,写的代码不仅自己能看懂,也得让别人也看懂,太厉害了,但是由于的我能力有限,没能写出出现括号的情况,如果表达式里面带有括号的话,运行会出错。

    虽然每次写作业耗费了大量的时间和精力,但是让我学会了很多东西,获得了宝贵的经验。

  • 相关阅读:
    栈溢出笔记1.3 准备Shellcode
    聊聊手游的那些惊喜与惊吓
    GIS+=地理信息+容器技术(4)——Docker执行
    与AQS有关的并发类
    HDU 2102 A计划
    生产系统ELK日志采集系统
    datagrip离线安装驱动jar
    oracle无效索引重建
    18年总结及19年展望
    shell符号解释
  • 原文地址:https://www.cnblogs.com/jinpai/p/14663663.html
Copyright © 2020-2023  润新知