JAVA基础作业练习—自定义异常之模拟ATM
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">最近打算开始写博客,犹豫自己只是个java语言的初学者,所以现在的内容只是自己的一些学习笔记和做的一些小练习。</span>
选择2,取款业务
选择3,查询余额业务
选择4,退出
注意:存钱与取钱金额均由键盘输入。
代码实现:
package homework;import java.util.InputMismatchException;
import java.util.Scanner;class Atm {private double banlance;double num;private String ID;public Atm(String ID) {this.ID = ID;}public void Deposit(double banlance) throws NotNegativeNumber {if (banlance < 0) {throw new NotNegativeNumber();}if (this.banlance != 0) {banlance = this.banlance + banlance;} elsethis.banlance = banlance;}public void withDraw(double Money) throws InsufficientFundsException, NotNegativeNumber {if (Money > banlance) {throw new InsufficientFundsException();} elsebanlance = banlance - Money;}public void showBanlance() {System.out.println("您的余额为:" + banlance);}public void show() {System.out.println(ID + " 用户您好,欢迎使用本ATM");System.out.println("选择1,存款业务");System.out.println("选择2,取款业务");System.out.println("选择3,查询余额业务");System.out.println("选择4,退出");}
}class NotNegativeNumber extends Exception { //自定义异常public NotNegativeNumber() {}
}class InsufficientFundsException extends Exception { //自定义异常public InsufficientFundsException() {}
}public class BankTest {public static void main(String[] args) {Atm atm = new Atm("12345-3455");atm.show();boolean flag = true;while (flag) {int num = new Scanner(System.in).nextInt();switch (num) {case 1:System.out.println("请输入存款金额");while (true) {try {double banlance = new Scanner(System.in).nextDouble();atm.Deposit(banlance);atm.show();break;} catch (NotNegativeNumber e) {System.out.print("请输入正确的金额,不能为负数");} catch (InputMismatchException e) {System.out.println("输入正确的金额,不能为字符");}}break;case 2:System.out.println("输入取款金额");while (true) {try {double money = new Scanner(System.in).nextDouble();atm.withDraw(money);atm.show();break;} catch (NotNegativeNumber e) {System.out.println("输入正确的金额,不能为负数");} catch (InsufficientFundsException e) {System.out.println("抱歉,余额不足");}}break;case 3:atm.showBanlance();atm.show();break;case 4:flag = false;System.out.println("交易完成,请取回您的卡");break;}}}}
JAVA基础作业练习—自定义异常之模拟ATM相关推荐
- 二-Java基础-作业-基础语法
文章目录 前言 二-Java基础-环境搭建-Eclipse下载步骤和安装步骤2 二-Java基础-环境搭建-创建工程3 Java-环境搭建 总结 前言 # 二-Java基础-环境搭建-JDK-11.0 ...
- Java基础练习题7--【猜拳游戏,模拟双色球功能,统计词语次数,判断大写字母,敏感词过滤程序】
文章目录 1.猜拳游戏 2.模拟双色球摇奖功能 3.统计某个词语的出现次数 4.判断输入的字母是否为大写字母 5.编写敏感词过滤程序 1.猜拳游戏 1表示石头,2表示剪刀,3表示布 接收用户输入的拳 ...
- java基础语法day20(Map、模拟斗地主发牌)
第1章 Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. 1. Collection中的集合, ...
- java基础 作业(一)
题目: 跳水比赛,8个评委打分.运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,剩下的6个分数 的平均分就是最后 得分.使用以为数组实现打分功能 .请把打分最高的评委和最低的评委找出来. 解析: ...
- java基础多线程抢红包_java多线程模拟抢红包功能
今天有朋友问我一道面试题,有5个人抢5个红包,可重复抢,用多线程程序实现,实现方式有多种,分享一下我的思路:应用了阻塞队列的特性. /** * Created by zhanglinqiang on ...
- java模拟atm 课程设计_java课程设计ATM机(图形用户)代码
[实例简介] 这是我在大二的时候学java时自己写的一个模拟ATM机的小程序,用了图形用户界面,数据库,绝对原创 [实例截图] [核心代码] atm └── atm ├── bin │ └── c ...
- java初级atm取款机,java基础:模拟ATM取款机
package com.atm; import java.util.Scanner; /** * ATM类实现 * * @author 向往的生活 */ public class ATM { publ ...
- Java模拟ATM运行过程(第一版)
该版本只有一个银行且没有并发,没有数据库,也没有GUI--主要是能力不够,而且飞哥说这个版本还是面向过程的,牛人给指点下. 1 /*想了想这个数组还是放在ATM里会比较好,直接放在主类里不行 2 * ...
- java模拟atm_Java第一课——模拟ATM机
Java第一课--模拟ATM机 开学第一节Java课,跟之前老师强调的一样--上课简单说了两句就直接开始了考试. 总结一下第一次做Java遇到的问题: 第一个是老师一直在强调要先考虑整体的思路,先把整 ...
最新文章
- PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等
- python快速自学方式-Python自学之路 ,自学Python快速入门方法
- 核密度估计python_非参数估计:核密度估计KDE
- MyBatis-Oracle-selectKey返回主键
- Linux JDK升级
- jQuery Pagination Ajax分页插件中文详解
- php 字符串与数字相加,注意!PHP中字符串与数字的比较
- [改善Java代码]避免对象的浅拷贝
- Struts2-03-拦截器(BOS物流项目用户登录拦截)
- python学习笔记 - 函数: 传参列表副本(不改变列表本身)
- 计算机组成原理(3)——存储器
- TB6560 驱动板资料
- 1.3寸IIC OLED SH1106和Arduino库的适配性鸡肋问题
- 从0-1搭建一个服务器(以前不懂事,现在只想搞钱)
- 基于JavaWeb的互联网金融创意众筹网站系统
- .NetCore Mediator的简单使用
- 抓起整个网站离线浏览的软件Teleport Pro
- 利用OPC技术实现双网冗余系统的通讯驱动
- 迈出高效管理步伐 8thManage助IT分销行以快制胜
- 洛谷 4828 Nagisa loves Tomoya 题解