Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
15.02.2025
Размер:
3.49 Кб
Скачать
public class Loan {
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) {
if (annualInterestRate <= 0) {
throw new IllegalArgumentException("Годовая процентная ставка должна быть больше нуля.");
}
if (numberOfYears <= 0) {
throw new IllegalArgumentException("Срок кредита должен быть больше нуля.");
}
if (loanAmount <= 0) {
throw new IllegalArgumentException("Сумма кредита должна быть больше нуля.");
}
this.annualInterestRate = annualInterestRate;
this.numberOfYears = numberOfYears;
this.loanAmount = loanAmount;
loanDate = new java.util.Date();
}

/** Возвращает годовую процентую ставку */
public double getAnnualInterestRate() {
return annualInterestRate;
}

/** Присваивает новую годовую процентую ставку */
public void setAnnualInterestRate(double annualInterestRate) {
if (annualInterestRate <= 0) {
throw new IllegalArgumentException("Годовая процентная ставка должна быть больше нуля.");
}
this.annualInterestRate = annualInterestRate;
}

/** Возвращает количество лет */
public int getNumberOfYears() {
return numberOfYears;
}

/** Присваивает новое количество лет */
public void setNumberOfYears(int numberOfYears) {
if (numberOfYears <=0) {
throw new IllegalArgumentException ("Срок кредита должен быть больше нуля.");
}
this.numberOfYears = numberOfYears;
}

/** Возвращает сумму кредита */
public double getLoanAmount() {
return loanAmount;
}

/** Присваивает новую сумму кредита */
public void setLoanAmount(double loanAmount) {
if (loanAmount <=0) {
throw new IllegalArgumentException ("Сумма кредита должна быть больше нуля.");
}
this.loanAmount = loanAmount;
}

/** Вычисляет и возвращает ежемесячный платеж по кредиту */
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
double monthlyPayment = loanAmount * monthlyInterestRate /
(1 - (1 / Math.pow(1 + monthlyInterestRate, numberOfYears * 12)));
return monthlyPayment;
}

/** Вычисляет и возвращает общую стоимость кредита */
public double getTotalPayment() {
double totalPayment = getMonthlyPayment() * numberOfYears * 12;
return totalPayment;
}

/** Возвращает дату взятия кредита */
public java.util.Date getLoanDate() {
return loanDate;
}
}
Соседние файлы в папке ПР-9