帮小慕进行自助取款,请老师检查,谢谢!

来源:13-13 测评作业

mottoyin

2025-02-17

package com.imooc.chapter13test;

import java.util.InputMismatchException;
import java.util.Scanner;

public class AtmTest {
    public static void main(String[] args) {
        int balance = 1000;
        System.out.print("请输入取款金额:(整百数,最少100,最多900): ");
        Scanner sc = new Scanner(System.in);
        try {
            int withdraw_num = sc.nextInt(); 
            if (withdraw_num >= 100 && withdraw_num <= 900 && withdraw_num % 100 == 0) {//判断输入为整百数,最小100,最大900,如果是则继续判断
                if (balance >= withdraw_num) { //如果存款金额大于取款金额,存款金额减去取款金额
                    balance -= withdraw_num;
                    System.out.println("取款" + withdraw_num + " ,余额: " + balance);
                } else {
                    System.out.println("余额不足");
                }
            } else {//如果用户输入非整百数,提示用户失败
                System.out.println("您输入的非100整数,取款失败!");
            }
        } catch (InputMismatchException e) {//捕获输入非整数提示用户失败并打印堆栈
            System.out.println("您输入的不是整数,取款失败!");
            e.printStackTrace();
        } finally {
            System.out.println("欢迎再次光临!");
            sc.close(); //关闭输入
        }
    }

}
写回答

1回答

彭彭老师

2025-02-18

判断输入是否为整百数的 if 条件需要优化一下,否则输入 1100 的时候,提示信息错误,输入金额大于 1000,应该提示余额不足

https://img1.sycdn.imooc.com/szimg/3c2aa66709b4967914910941.jpg

判断输入是否为整百数,只判断取款金额是否能被 100 整除即可,如果能被 100 整除,则后面继续判断是否大于余额;

另外,账户余额是 1000,输入的取款金额最多可以为 1000

可以参考下面的代码

https://img1.sycdn.imooc.com/szimg/4f9e396709b4982c11940801.jpg

0
0

Java零基础入门与实战

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

277 学习 · 220 问题

查看课程