java自定义异常实验总结,Java实验--自定义异常的使用

这几天有点小忙,都没时间更新博客了,今天趁着Java实验课,把做的这次实验放上去吧!

实验5 自定义异常的使用

a.在定义一个银行类Bank时, 有存钱deposit()、取钱withdraw()、显示余额showBalance()等方法。若取钱数大于余额则作为异常处理(InsufficientFundsException)。产生异常的条件是余额少于取额, 因此是否抛出异常要判断条件,要定义好自己的异常类。

b. 定义异常类,当从键盘输入A或a时,抛出自定义异常。

实验要求:

1.掌握如何定义异常;

2.掌握如何抛出异常;

3.掌握如何捕捉处理异常。

-----------------------------------------------

不考虑其他情况,只有取钱这个操作会出现异常,先定义自己的异常:

packagebank;

classMyExceptionextendsException{

String message;

publicMyException() {

message = "您的余额不足!";

}

publicString getMessage(){

returnmessage;

}

}

银行类的主类:

packagebank;

importjava.util.Scanner;

publicclassBank {

privatedoublemoney;

privateString menu;

publicBank(doublen) {

this.money = n;

}

//取钱

publicvoidwithdrawal(doublen)throwsMyException{

if(n>money) {

MyException ex = newMyException();

throw(ex);

}

money = money - n;

System.out.println("取钱成功!");

this.showBalance();

this.showMenu();

}

//存钱

publicvoiddeposit(doublen){

money += n;

System.out.println("您已成功存入"+n);

this.showBalance();

this.showMenu();

}

//查看余额

publicvoidshowBalance(){

System.out.println("您当前账户的余额是:"+money);

this.showMenu();

}

publicvoidshowMenu(){

StringBuffer strBuffer = newStringBuffer();

strBuffer.append("\n请选择您的操作:\n");

strBuffer.append("存钱[c]\t");

strBuffer.append("取钱[q]\t");

strBuffer.append("查询余额[y]\t");

strBuffer.append("退出系统[quit]\t");

System.out.println(strBuffer);

Scanner input = newScanner(System.in);

this.menu = input.nextLine();

this.getMenu();

}

publicvoidgetMenu() {

if(this.menu.equals("c")) {

System.out.println("请输入您要存入的金额:\n");

Scanner input = newScanner(System.in);

doublem1 = input.nextDouble();

this.deposit(m1);

}else{

if(this.menu.equals("q")) {

System.out.println("请输入您要取出的金额:\n");

Scanner input = newScanner(System.in);

doublem1 = input.nextDouble();

try{

this.withdrawal(m1);

} catch(MyException e) {

System.out.println(e.getMessage());

}finally{

this.showMenu();

}

}else{

if(this.menu.equals("y")){

this.showBalance();

}else{

if(this.menu.equals("quit")){

}else{

this.showMenu();

}

}

}

}

}

}

能改进的地方还有很多,getMenu这个...嘿嘿....

住程序:

packagebank;

publicclassBankMain {

/**

* @param args

*/

publicstaticvoidmain(String[] args) {

Bank a = newBank(200);

a.showMenu();

}

}

自己写的垃圾源代码在这里: [file]upload/201105/2011050316181626.rar[/file]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 动态分配内存,[Matlab科学计算之高效编程] 1. 预分配内存

通过对变量预分配内存可以大大降低计算耗时,下面举例说明。1.没有预分配变量内存情况clearn 2000;tic;for i1:nfor j1:na(i,j) 1;endendtime toc;disp([未预分配内存下计算时间为,num2str(time),秒])计算时间为:未预分配内存下计算时间为3.3465秒2.预…

wordpressQQ登陆php代码,仅在登录时使用wordpress PHP代码

我有一个自定义URL生成的一些PHP嵌入到页面模板中.<?php echo http://www.mywebsite.co.uk/clients/ . $current_user->user_login . "/"; ?>这一切都很好,但我希望它能在用户未登录时将链接更改为静态链接,否则get_currentuserinfo部分会中断并且显示的链…

matlab 水文频率曲线,【求助】如何计算水文频率,外行求教 - 地学 - 小木虫 - 学术 科研 互动社区...

根据某水文现象的统计特性,利用现有水文资料,分析水文变量设计值与出现频率(或重现期)之间的定量关系的工作过程称为水文频率计算。自然界的现象按发生情况可分成&#xff1a;必然事件&#xff0c;即在一定条件下必然会发生的事情&#xff0c;如降雨以后就要涨水是必然发生的&a…

水解聚丙烯酰胺 php,聚丙烯酰胺水溶液的流变性质

聚 丙 烯 酰 胺 水 溶 液 的 流 变 性 质谢 刚 ! 黎 勇 陈 九 顺 邓 立 育( 黑 龙 江 大 学 化 学 化 工 学 院 哈 尔 滨 ! " # # $ # ) ( 黑 龙 江 进 出 口 商 品 检 验 局 哈 尔 滨 )关 键 词 聚 丙 烯 酰 胺 水 溶 液 &#xff0c; 流 变 性 质 &#xff0c; 粘 性 指…

matlab字符和字符串,MATLAB字符和字符串

3.字符和字符串在MATLAB中&#xff0c;几个字符(Character)可以构一个字符串(String)。一个字符串被视为一个行向量&#xff0c;而字符串中的每一个字符(含空格符)&#xff0c;则是以其ASCII的形式存放于此向量的每一个元素中&#xff0c;只是它的外显形式仍然是可读的字符。字…

计算器java程序设计报告总体设计,java程序设计实验报告-计算器

《java程序设计实验报告-计算器》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《java程序设计实验报告-计算器(18页珍藏版)》请在金锄头文库上搜索。1、 Java 程序设计实验报告程序设计实验报告题 目 计算器 姓 名 学 号 学 院 软件学院 专 业 软件工程 年 级 2009 级…

mybatis连接oracle12乱码,使用mybatis链接oracle数据库出现账号密码错误解决

使用mybatis链接oracle数据库步骤最近oracle老师布置下来了作业&#xff0c;要求使用传统的java代码链接oracle数据库做一个小程序&#xff0c;因为我已经很熟练的掌握了ssm框架的开发&#xff0c;以前用的是mysql&#xff0c;现在就尝试尝试oracle来练练手。问题一 oracle 的j…

oracle active data guard,Oracle Active DataGuard配置手册(一)

第一章 搭建Active DG开始配置dgPrimary db:1、 判断dataguard是否安装SQL> select * from v$option where parameter Oracle Data Guard;PARAMETER----------------------------------------------------------------VALUE----------------------------------------------…

linux创建文件后会自动删除,linux会自动删除目录和文件的吗

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼建议不要在 /tmp 或 /var/tmp 中存放需由用户掌握的文件unix 系统的习惯做法是将系统运行过程中的产生的临时文件保存在 /tmp 和 /var/tmp 中。这两者的区别在于 /tmp 中保存的临时文件原则上将在系统重新启动后删除&#xff0c;这…

linux关闭gvim命令,Linux 下 8 种退出 vim 编辑器的方法

Vim被称为一个非常强大的文本编辑器&#xff0c;但同样以其陡峭的学习曲线而闻名。 如果您经常使用命令行&#xff0c;那么至少应该学习一些基本功能。 如果你没有花时间去学习它&#xff0c;即使像退出Vim这样简单的事情也很困难。Vim是一套独立的软件&#xff0c;它有自己的一…

du 查看使用 linux命令,如何正确使用Linux命令–du

本文简单介绍了如何使用如何使用Linux命令–du&#xff0c;需要的朋友可以参考一下。du(disk usage)功能说明&#xff1a;显示目录或文件的大小。语  法&#xff1a;du [-abcDhHklmsSx][-L ][-X ][–block-size][–exclude][–max-depth][–help][–version][目录或文件]补充…

编译 linux 3,linux内核的编译(3)

linux内核的编译(3)2008-02-23 07:17:46来源&#xff1a;互联网 阅读 ()无论什麽档名)&#xff0c;然後将你做的 zImage 拷贝进去&#xff0c;(例如&#xff0c;如果你用” /vmlinuz ″的话&#xff0c;就像这样″ cp zImage /vmlinuz ”)。接著重新执行 lilo — 在较新的系统上…

linux 端口限速技术,linux下如何实现对每个IP进行限制带宽??

linux下如何实现对每个IP进行限制带宽&#xff1f;&#xff1f;(2011-09-01 01:03:54)标签&#xff1a;杂谈linux下如何实现对每个IP进行限制带宽&#xff1f;&#xff1f;redhatlinux服务器&#xff0c;最近发现单位的网内BT下载、迅雷下载太多&#xff0c;严重影响正常上网&a…

u盘启动+linux+ks.cfg,通过ks.cfg文件自动安装系统

最近需要制作自动安装系统的iso镜像文件&#xff0c;写个笔记以防忘记第一步、拿到iso原始文件&#xff0c;我用的是rhel7.7的把rhel7.7文件复制出来到一个目录中第二步、编写一个名字叫ks.cfg文件内容如下&#xff1a;#versionDEVELInstall OS instead of upgradeinstallKeybo…

linux下编译安装ntfs,linux下编译安装ntfs

“mount: you must specify the filesystem type” 错误提示是这个mount /dev/hda1 /media/windows/ 在centos下无问题。不知道为什么在Ubuntu下有问题解决办法mount /dev/hda1 /media/windows/ -t ntfs (-t 制定文件系统类型&#xff0c;这里是ntfs) ######自己down源码包…

Linux做施压机的最大线程数,关于性能测试的几个要点

几个定义性能测试(Performance Test)通常收集所有和测试有关的所有性能&#xff0c;通常被不同人在不同场合下进行使用。测试软件在系统中的运行性能&#xff0c;度量系统与预定义目标的差距。关注点&#xff1a;how much和how fast负载测试(Load Test)负载测试是一种性能测试&…

Linux实训vim编辑器的应用,Linux实训例题(vim编辑器)

1、如果用vi编辑器编辑当前目录下的file1文件&#xff0c;则进入编辑的方式是()vi file12、在Vi编辑器中&#xff0c;请将光标定位到屏幕最上方、最中间、最下方&#xff0c;其命令分别是()()()H M L3、在Vi编辑器中&#xff0c;请将光标定位到文件的第10行&#xff0c;其命令是…

linux优化pdf,linux系统安全和优化.pdf

crookoo 于 2012-05-06 03:42:36发表:好东西啊dayed 于 2012-03-25 11:30:45发表:linux系统安全和优化topcloud 于 2012-03-22 12:50:28发表:顶阿顶。。vikenfeng 于 2011-10-27 10:05:32发表:感谢楼主fastknot 于 2011-07-13 18:45:35发表:楼主很强大66781881 于 2011-06-30 2…

鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18

1. 初次安装Ubuntu18关于linux安装&#xff0c;之前一直遇到的问题都是安装了&#xff0c;并重启之后之后进入到了grub界面&#xff0c;然后我自己对于grub指令不熟悉&#xff0c;加上没有足够的时间来研究&#xff0c;在多次重装之后&#xff0c;仍然没有办法直接进入&#xf…

线性分组码c语言实验报告,C语言线性分组码(附注释).doc

C语言线性分组码(附注释).doc下载提示(请认真阅读)1.请仔细阅读文档&#xff0c;确保文档完整性&#xff0c;对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档&#xff0c;不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、原创作者&a…