复利计算 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("");
}
}
运行截图
分工
由于基础代码取自吴灿龙同学
我的工作主要是修改代码实现大体的功能
同伴的工作主要是对基础代码进行修改方便将功能更好的融合进显示界面
当然在结对开发过程中,也会相互给予修改的建议,更新的不同实现方法等
合作照片
总结
经过此次的结对编程,让我深刻发现自己的不足,需要加强的地方,
例如:在界面的很多控件类都不了解,查API后才发现有更好的控件的实现相应功能,
但是在某些方面我还是能提供一些建设性的意见,能帮助到结对的项目。
在接下来的一段时间,要在Java基础方面花些时间,在未来的项目中取得更好的成果。