一個簡單的例項Loan類的實現和測試
阿新 • • 發佈:2018-12-13
import java.util.Scanner; public class TestLoanClass { public static void main(String[] args) { // TODO 自動生成的方法存根 Scanner input = new Scanner(System.in); System.out.print("Enter yearly interest rate ,for example, 8.25 "); double annualInterestRate = input.nextDouble(); System.out.print("Enter number of years as an integere: "); int numberOfYears = input.nextInt(); System.out.print("Enter loan amount ,for example , 1200000.95:"); double loanAmount = input.nextDouble(); Loan loan = new Loan (annualInterestRate,numberOfYears,loanAmount); System.out.printf("The loan was created on %s\n" +"The monthly payment is %.2f\n The toal payment is %.2f\n", loan.getLoanDate().toString(),loan.getMonthlyPayment(),loan.getTotalPayment()); } static class Loan{ //不宣告成靜態的類上面new Loan物件的時候回報錯,main()和class Loan之外建立一個外部例項,再在main()裡面通過外部例項去例項化物件 private double annualInterestRate; private int numberOfYears; private double loanAmount; private java.util.Date loanDate; public Loan() { this(2.5,1,1000); } public Loan (double annualInterestRate ,int numberOfYears,double loanAmount) { this.annualInterestRate = annualInterestRate; this.numberOfYears = numberOfYears; this.loanAmount = loanAmount; loanDate = new java.util.Date(); } public double getAnnualInterestRate() { return annualInterestRate; } public void setAnnualInterestRate(double annaulInterestRate) { this.annualInterestRate = annualInterestRate; } public int getNumberOfYears() { return numberOfYears; } public void setNumberOfYears(int numberOfYears) { this.numberOfYears = numberOfYears; } public double getLoanAmount() { return loanAmount; } public void setLoanAmount(double LoanAmount) { this.loanAmount = loanAmount; } public double getMonthlyPayment() { double monthlyInterestRate = annualInterestRate / 1200; double monthlyPayment = loanAmount * monthlyInterestRate / (1- (Math.pow(1/(1+monthlyInterestRate), numberOfYears*12))); return monthlyPayment; } public double getTotalPayment() { double totalPayment = getMonthlyPayment()*numberOfYears*12; return totalPayment; } public java.util.Date getLoanDate(){ return loanDate; } } }