Guest User

Untitled

a guest
Feb 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. //package chapter10;
  2.  
  3. public class Loan {
  4. private double annualInterestRate;
  5. private int numberOfYears;
  6. private double loanAmount;
  7. private java.util.Date loanDate;
  8.  
  9. /** Default constructor */
  10. public Loan() {
  11. this(2.5, 1, 1000);
  12. }
  13.  
  14. /** Construct a loan with specified annual interest rate,
  15. number of years and loan amount
  16. */
  17. public Loan(double annualInterestRate, int numberOfYears,
  18. double loanAmount) {
  19. this.annualInterestRate = annualInterestRate;
  20. this.numberOfYears = numberOfYears;
  21. this.loanAmount = loanAmount;
  22. loanDate = new java.util.Date();
  23. }
  24.  
  25. /** Return annualInterestRate */
  26. public double getAnnualInterestRate() {
  27. return annualInterestRate;
  28. }
  29.  
  30. /** Set a new annualInterestRate */
  31. public void setAnnualInterestRate(double annualInterestRate) {
  32. this.annualInterestRate = annualInterestRate;
  33. }
  34.  
  35. /** Return numberOfYears */
  36. public int getNumberOfYears() {
  37. return numberOfYears;
  38. }
  39.  
  40. /** Set a new numberOfYears */
  41. public void setNumberOfYears(int numberOfYears) {
  42. this.numberOfYears = numberOfYears;
  43. }
  44.  
  45. /** Return loanAmount */
  46. public double getLoanAmount() {
  47. return loanAmount;
  48. }
  49.  
  50. /** Set a newloanAmount */
  51. public void setLoanAmount(double loanAmount) {
  52. this.loanAmount = loanAmount;
  53. }
  54.  
  55. /** Find monthly payment */
  56. public double getMonthlyPayment() {
  57. double monthlyInterestRate = annualInterestRate / 1200;
  58. double monthlyPayment = loanAmount * monthlyInterestRate / (1 -
  59. (Math.pow(1 / (1 + monthlyInterestRate), numberOfYears * 12)));
  60. return monthlyPayment;
  61. }
  62.  
  63. /** kuukausi maksu K* q^n * ( (1-q)/(1-q^n), kaava vuosina) */
  64. // lasketaan kuukausiera, joten kkk-korko ja lyhynnyset kuukausina
  65. public double kuukausiEra() {
  66. double q = 1 + annualInterestRate / 1200;
  67. int n = numberOfYears * 12;
  68. double qn = Math.pow(q, n);
  69. double era = loanAmount * qn * ((1 - q) / (1 - qn));
  70. return era;
  71. }
  72.  
  73. /** Find total payment */
  74. public double getTotalPayment() {
  75. double totalPayment = getMonthlyPayment() * numberOfYears * 12;
  76. return totalPayment;
  77. }
  78.  
  79. /** Return loan date */
  80. public java.util.Date getLoanDate() {
  81. return loanDate;
  82. }
  83. }
Add Comment
Please, Sign In to add comment