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 包中;通常在传递错误参数的时候抛出,如果传给方法的参数不符合预期,就会抛出该异常。

0
0

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程