zoukankan      html  css  js  c++  java
  • 一个简单的贷款程序

    一个简单的贷款程序

    代码如下:

    package Day06;
    import java.util.Date; public class Loan {
    //年利率
    private double annualInterestRate;
    //贷款年限
    private int numberOfYears;
    //贷款总额
    private double loanAmount;
    //贷款生成时间
    private Date loanDate;


    /**
    *
    */
    public Loan() {
    this(0, 1, 1, new Date());
    } /**
    * @param annualInterestRate
    * @param numberOfYears
    * @param loanAmount
    */
    public Loan(double annualInterestRate, int numberOfYears, double loanAmount) {
    this.annualInterestRate = annualInterestRate;
    this.numberOfYears = numberOfYears;
    this.loanAmount = loanAmount;
    this.loanDate = new Date();
    } /**
    * @param annualInterestRate
    * @param numberOfYears
    * @param loanAmount
    * @param loanDate
    */
    public Loan(double annualInterestRate, int numberOfYears,
    double loanAmount, Date loanDate) {
    this.annualInterestRate = annualInterestRate;
    this.numberOfYears = numberOfYears;
    this.loanAmount = loanAmount;
    this.loanDate = loanDate;
    } /**
    * @return the annualInterestRate
    */
    public double getAnnualInterestRate() {
    return annualInterestRate;
    } /**
    * @param annualInterestRate the annualInterestRate to set
    */
    public void setAnnualInterestRate(double annualInterestRate) {
    this.annualInterestRate = annualInterestRate;
    } /**
    * @return the numberOfYears
    */
    public int getNumberOfYears() {
    return numberOfYears;
    } /**
    * @param numberOfYears the numberOfYears to set
    */
    public void setNumberOfYears(int numberOfYears) {
    this.numberOfYears = numberOfYears;
    } /**
    * @return the loanAmount
    */
    public double getLoanAmount() {
    return loanAmount;
    } /**
    * @param loanAmount the loanAmount to set
    */
    public void setLoanAmount(double loanAmount) {
    this.loanAmount = loanAmount;
    } /**
    * @return the loanDate
    */
    public Date getLoanDate() {
    return loanDate;
    } /**
    * @param loanDate the loanDate to set
    */
    public void setLoanDate(Date loanDate) {
    this.loanDate = loanDate;
    }

    /**
    * 计算月还款数额
    */
    public double getMonthlyPayment() {
    double monthlyInterestRate = this.annualInterestRate / 1200;
    double monthPayment =
    this.loanAmount * monthlyInterestRate
    / (1 - 1 / Math.pow(1 + monthlyInterestRate, this.numberOfYears * 12));
    return monthPayment;
    }

    /**
    * 计算还款总金额
    */
    public double getTotalPayment() {
    return this.getMonthlyPayment() * this.numberOfYears * 12;
    }

    /**
    * 计算贷款结清时间
    */
    @SuppressWarnings("deprecation")
    public Date getLoanPaidDate() {
    Date loanDay = this.loanDate;
    loanDay.setYear(loanDay.getYear() + this.numberOfYears);
    return loanDay;
    }
    }
    第二部分
    package Day06;

    import javax.swing.JOptionPane;

    public class TestLoan {
    public static void main(String[] args) {
    String annualInterestRateString = JOptionPane.showInputDialog("Please enter yearly interest rate(0~100):");
    double annualInterestRate = Double.parseDouble(annualInterestRateString);
    String numberOfYearsString = JOptionPane.showInputDialog("Please input the number of years:(0~100)");
    int numberOfYears = Integer.parseInt(numberOfYearsString);
    String loanString = JOptionPane.showInputDialog("Enter loan amount, for example 120000.95:");
    double loanAmout = Double.parseDouble(loanString);
    Loan loan = new Loan(annualInterestRate, numberOfYears, loanAmout);
    System.out.println("贷款生成时间: " + loan.getLoanDate().toString());
    System.out.println("贷款结清时间: " + loan.getLoanPaidDate().toString());
    System.out.println("月还款数额: " + loan.getMonthlyPayment());
    System.out.println("还款总金额: " + loan.getTotalPayment());
    }
    }

    只相信苦尽甘来
  • 相关阅读:
    JavaScript快速入门-ECMAScript本地对象(String)
    JavaScript快速入门-ECMAScript语句
    Zabbix实战-简易教程--业务类
    [转] STL源码学习----lower_bound和upper_bound算法
    [转] C++中临时对象及返回值优化
    二叉堆,优先队列,二叉树的理解
    [转] GCC __builtin_expect的作用
    [转] __thread关键字
    C++初始化顺序
    [转] shared_from_this 几个值得注意的地方
  • 原文地址:https://www.cnblogs.com/F001li/p/7055819.html
Copyright © 2011-2022 走看看