函数题:处理IllegalArgumentException异常
修改课本328页程序清单10-2中的Loan类,编写一个NewLoan类,使满足以下要求:
1. 如果年利率(AnnualInterestRate,AIR)、年数(NumOfYears,NOY)或贷款总额(LoanAmount,LA)任意一项小于或等于零,则抛出IllegalArgumentException异常,若有多项不符合要求,则以最前项为准,输出格式见范例;
2. 如果数据均符合要求,构造printTotalPayment()方法,返回总额,结果保留3位小数。
### 裁判测试程序样例:
c++
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
double AIR = input.nextDouble();
int NOY = input.nextInt();
double LA = input.nextDouble();
try {
NewLoan m = new NewLoan(AIR, NOY, LA);
System.out.printf(m.printTotalPayment());
System.out.printf("\n");
} catch (Exception ex) {
System.out.println(ex);
}
}
}
}
/* 请在这里填写答案 */
### 输入格式:
输入有多组数据,一个实数表示年利率,一个整数表示年数,一个实数表示贷款总额。
### 输出格式:
若任意一项小于或等于零,抛出IllegalArgumentException异常及相应描述(Annual interest rate must be positive.或Number of years must be positive.或Loan amount must be positive.);
有多项不符合,以不符合最前项为准;
若均符合要求,按照格式输出总额。
### 输入样例:
in
1 1 1000
2.5 0 2000
0 0 0
### 输出样例:
out
totalPayment is 1005.424
java.lang.IllegalArgumentException: Number of years must be positive.
java.lang.IllegalArgumentException: Annual interest rate must be positive.
答案:若无答案欢迎评论
1. 如果年利率(AnnualInterestRate,AIR)、年数(NumOfYears,NOY)或贷款总额(LoanAmount,LA)任意一项小于或等于零,则抛出IllegalArgumentException异常,若有多项不符合要求,则以最前项为准,输出格式见范例;
2. 如果数据均符合要求,构造printTotalPayment()方法,返回总额,结果保留3位小数。
### 裁判测试程序样例:
c++
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
double AIR = input.nextDouble();
int NOY = input.nextInt();
double LA = input.nextDouble();
try {
NewLoan m = new NewLoan(AIR, NOY, LA);
System.out.printf(m.printTotalPayment());
System.out.printf("\n");
} catch (Exception ex) {
System.out.println(ex);
}
}
}
}
/* 请在这里填写答案 */
### 输入格式:
输入有多组数据,一个实数表示年利率,一个整数表示年数,一个实数表示贷款总额。
### 输出格式:
若任意一项小于或等于零,抛出IllegalArgumentException异常及相应描述(Annual interest rate must be positive.或Number of years must be positive.或Loan amount must be positive.);
有多项不符合,以不符合最前项为准;
若均符合要求,按照格式输出总额。
### 输入样例:
in
1 1 1000
2.5 0 2000
0 0 0
### 输出样例:
out
totalPayment is 1005.424
java.lang.IllegalArgumentException: Number of years must be positive.
java.lang.IllegalArgumentException: Annual interest rate must be positive.
答案:若无答案欢迎评论