zoukankan      html  css  js  c++  java
  • 复利计算-结对

    复利计算 5.0

    同伴姓名:吴灿龙
    同伴学号:201406114151
    博客地址:博客园
    源代码:github

    结对编程

    本次复利计算功能更新采用结对编程的形式,完成“记录下一笔一笔不同类型的投资,并动态显示资金现值”的功能
    在同伴吴灿龙同学之前开发的代码基础上进行增量的功能更新
    

    主要实现的代码

        public void actionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
    		if (e.getActionCommand().equals("确认")) {
    			double P = 0.1;
    			double i = 0.1;
    			double n = 0.1;
    			double m = 0.1;
    			double F = 0.1;
    			try {
    				jResultText.setText("");
    				if (x > 60 && x < 160 && y > 105 && y < 145) {
    					// 复利
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					m = Double.valueOf(jTextm.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    						F = dataTing.compounding(P, i, n, m);
    					jResultText.setText(Double.toString(F));
    					listModel.add(0, "复利计算"+"    "+"终值"+"    "+F);
    					}
    					
    				} else if (x > 160 && x < 260 && y > 105 && y < 145) {
    					// 单利
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					F = dataTing.simpleInterest(P, i, n);
    					jResultText.setText(Double.toString(F));
    					listModel.add(0, "单利计算"+"    "+"终值"+"    "+F);
    					}
    				} else if (x > 260 && x < 360 && y > 105 && y < 145) {
    					// 本金
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					m = Double.valueOf(jTextm.getText().toString()).doubleValue();
    					F = Double.valueOf(jTextF.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					P = dataTing.calculationOfThePrincipal(i, n, F);
    					jResultText.setText(Double.toString(P));
    					listModel.add(0, "本金计算"+"    "+"本金"+"    "+P);
    					}
    				} else if (x > 360 && x < 460 && y > 105 && y < 145) {
    					// 期限
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					m = Double.valueOf(jTextm.getText().toString()).doubleValue();
    					F = Double.valueOf(jTextF.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					n = dataTing.theTermsOfDepositCalculation(P, i, F);
    					jResultText.setText(Double.toString(n));
    					listModel.add(0, "存款期限"+"    "+"期限"+"    "+n);
    					}
    				} else if (x > 460 && x < 560 && y > 105 && y < 145) {
    					// 利率
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					m = Double.valueOf(jTextm.getText().toString()).doubleValue();
    					F = Double.valueOf(jTextF.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					i = dataTing.interestRate(P, n, F)/100;
    					jResultText.setText(Double.toString(i));
    					listModel.add(0, "存款利率"+"    "+"利率"+"    "+i+"%");
    					}
    				} else if (x > 560 && x < 660 && y > 105 && y < 145) {
    					// 投资
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					m = Double.valueOf(jTextm.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					F = dataTing.theInvestmentCalculation(P, i, n);
    					jResultText.setText(Double.toString(F));
    					listModel.add(0, "本金:"+P+"利率:"+i+"期数:"+n+"回报:"+F);
    					}
    				} else if (x > 660 && x < 760 && y > 105 && y < 145) {
    					// 分期还款
    					P = Double.valueOf(jTextP.getText().toString()).doubleValue();
    					i = Double.valueOf(jTexti.getText().toString()).doubleValue()/100;
    					n = Double.valueOf(jTextn.getText().toString()).doubleValue();
    					if(Judge0(P, i, n, m, F)){
    					F = dataTing.installmentPaymentCalculation(P, i, n);
    					jResultText.setText(Double.toString(F));
    					listModel.add(0, "分期还款"+"    "+"金额"+"    "+F);
    					}
    				}
    			} catch (Exception e1) {
    				JOptionPane.showMessageDialog(null, "未输入正确的数据!", "错误提示",
    						JOptionPane.ERROR_MESSAGE);
    				//System.out.println(e1);
    			}
    		} else if (e.getActionCommand().equals("清除")) {
    			//清除文本框的内容
    			jTextF.setText("");
    			jTextP.setText("");
    			jTexti.setText("");
    			jTextn.setText("");
    			jTextm.setText("");
    			jResultText.setText("");
    		}
    	}
    

    运行截图

    1
    2

    分工

    由于基础代码取自吴灿龙同学
    我的工作主要是修改代码实现大体的功能
    同伴的工作主要是对基础代码进行修改方便将功能更好的融合进显示界面
    

    当然在结对开发过程中,也会相互给予修改的建议,更新的不同实现方法等

    合作照片

    总结

    经过此次的结对编程,让我深刻发现自己的不足,需要加强的地方,  
    例如:在界面的很多控件类都不了解,查API后才发现有更好的控件的实现相应功能,
    但是在某些方面我还是能提供一些建设性的意见,能帮助到结对的项目。
    在接下来的一段时间,要在Java基础方面花些时间,在未来的项目中取得更好的成果。
  • 相关阅读:
    Python3网络学习案例三:编写web server
    struct.pack()和struct.unpack() 详解(转载)
    Python3网络学习案例二:traceroute详解
    Redis 配置
    vue之this.$route.params和this.$route.query的区别
    解决bugs: mybatisPlus 分页不能生效
    解决bug :"status":400,"error":"Bad Request","message":"Required request body is missing:
    vue,ElementUI中Switch 开关,switch 打开时的值为数字,该如何设置
    解决bug:vue项目中点击修改按钮,不能显示要修改的分类名字
    The 'Access-Control-Allow-Origin' header contains multiple values'*, *', but only one is allowed.
  • 原文地址:https://www.cnblogs.com/xiseven/p/5361018.html
Copyright © 2011-2022 走看看