(仅记录自己的学习之路)
编程实现计算贷款偿还额的程序。根据用户输入的贷款信息,包括:年利率、贷款额、贷款年限,计算用户该笔贷款的月还款额和总还款额。
具体要求:设计一个Loan类表示贷款。这个类包括:
(1) 一个名为annualInterestRate的私有double数据域,表示一笔贷款的年利率;
(2) 一个名为numberOfYears的私有int数据域,表示一笔贷款的贷款年限;
(3) 一个名为loanAmount的私有double数据域,表示一笔贷款的贷款额;
(4) 一个名为loanDate的Date类型数据域,表示贷款创建的日期;
提示:Date类是JDK中的类,位于java.util包中,下面的代码创建了date对象,该对象保存了创建该对象的那一时刻所对应的时间;
Date date = new Date();
(5) 一个以用户指定值创建一笔贷款的构造方法;
提示:在两个构造方法中都要创建账户创建日期对象;
(6) 一个以默认值创建一笔贷款的无参构造方法;
要求:通过this关键字调用上面的构造方法给成员变量赋值,各个成员变量的默认值自己随便写
(7) 数据域loanDate的get方法,以及其他数据域的get方法和set方法;
思考:loanDate表示创建账号的日期,在构造方法中初始化,没有为其提供set方法,那loanDate中的日期,可以修改吗?
(8) 一个名为getMonthlyPayment()的方法,计算并返回月还款额;
(9) 一个名为getTotalPayment()的方法,计算并返回总还款额。
月还款额和总还款额的计算公式如下:
提示:使用JDK提供的Math类的静态方法pow计算指数,该方法的定义如下:
public static double pow(double a, double b)
该方法返回第一个参数的第二个参数次幂的值。
由于是静态方法,使用类名直接调用方法实现指数计算。
画出Loan类的UML图,并实现这个类。编写一个测试程序,根据用户输入的年利率、贷款年限和贷款额,计算该用户该笔贷款的月还款额和总还款额,按照如下样例输出。
代码如下:
package TestLoan;
import java.util.Date;
import java.util.Scanner;
class Loan{
private double annualInterestRate; //一笔贷款的年利率
private int numberOfYears; //一笔贷款的贷款年限
private double loanAmount; //一笔贷款的贷款额
private Date loanDate; //贷款创建的日期
Loan(){
}
public Loan(double annualInterestRate, int numberOfYears, double loanAmount, Date loanDate) {
loanDate =