《个人开发流程》——宋嘉琪

一、目的

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

二、步骤

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

三、核心代码

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

六、个人总结

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

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

原文地址:https://www.cnblogs.com/songjiaqi/p/14643515.html