1、帮小慕进行自助取款 请检查下,IllegalArgumentException 是一个标准的运行时异常类,是吗
来源:13-13 测评作业

unbreakable_全栈
2024-12-02
package com.imooc.catchWork;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ATMWithdrawal {
private static int accountBalance = 1000; // 小慕的账户余额
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("请输入取款金额(必须为百元数字):");
int withdrawalAmount = scanner.nextInt();
// 验证金额是否为百元数字
if (withdrawalAmount % 100 != 0) {
throw new IllegalArgumentException("取款金额必须为百元数字!");
}
// 验证金额是否小于账户余额
if (withdrawalAmount > accountBalance) {
throw new IllegalArgumentException("账户余额不足!");
}
// 执行取款操作
withdraw(withdrawalAmount);
System.out.println("取款成功,当前账户余额为:" + accountBalance + "元");
} catch (InputMismatchException e) {
System.out.println("输入错误!请输入整数金额。");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
} finally {
scanner.close(); // 关闭控制台输入
}
}
// 取款方法
private static void withdraw(int amount) {
if (amount <= accountBalance) {
accountBalance -= amount;
} else {
throw new IllegalArgumentException("账户余额不足!");
}
}
}
写回答
1回答
-
彭彭老师
2024-12-02
是的,IllegalArgumentException 是一个常见的运行时异常,是标准的运行时异常类,位于 java.lang 包中;通常在传递错误参数的时候抛出,如果传给方法的参数不符合预期,就会抛出该异常。
00
相似问题