帮小慕进行自助取款,请老师检查,谢谢!
来源: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,应该提示余额不足
判断输入是否为整百数,只判断取款金额是否能被 100 整除即可,如果能被 100 整除,则后面继续判断是否大于余额;
另外,账户余额是 1000,输入的取款金额最多可以为 1000
可以参考下面的代码
00
相似问题