(IllegalArgumentException异常)修改程序清单10-2中的Loan类,如果贷款总额、利率、 年数小于或等于零,则抛出IllegalArgumentException异常。
时间: 2023-12-05 11:08:20 浏览: 42
以下是修改后的Loan类代码:
```java
public class Loan {
private double loanAmount;
private double annualInterestRate;
private int numOfYears;
public Loan(double loanAmount, double annualInterestRate, int numOfYears) {
if (loanAmount <= 0 || annualInterestRate <= 0 || numOfYears <= 0) {
throw new IllegalArgumentException("贷款总额、利率、年数必须大于零!");
}
this.loanAmount = loanAmount;
this.annualInterestRate = annualInterestRate;
this.numOfYears = numOfYears;
}
public double getLoanAmount() {
return loanAmount;
}
public double getAnnualInterestRate() {
return annualInterestRate;
}
public int getNumOfYears() {
return numOfYears;
}
public double getMonthlyPayment() {
double monthlyInterestRate = annualInterestRate / 1200;
return loanAmount * monthlyInterestRate / (1 - (Math.pow(1 / (1 + monthlyInterestRate), numOfYears * 12)));
}
public double getTotalPayment() {
return getMonthlyPayment() * numOfYears * 12;
}
}
```
在构造函数中,我们使用了一个 if 语句来判断贷款总额、利率、年数是否小于或等于零。如果是的话,就抛出一个 IllegalArgumentException 异常,并提供错误信息。这样,当有人试图使用不合法的参数创建 Loan 对象时,就会抛出异常,避免了程序运行时出现错误。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)