实验题3

创建异常类的练习。需要使用3个Java程序来实现:

Bank.java

InsufficientFundsException.java

ExceptionDemo.java

创建银行类Bank,包括如下的方法:

Bank(double balance)

deposite(double dAmount)

withdrawal(double dAmount)

show_balance()

创建异常类:InsufficientFundsException。若取钱数大于余额则作为异常处理。创建此异常类的思路是:(1)产生异常的条件是余额少于取额, 因此是否抛出异常要判断条件(注意throw的使用)。(2)取钱是withdrawal()方法中定义的动作,因此在该方法中产生异常。(3)处理异常安排在调用withdrawal()的时候,因此withdrawal()方法要声明异常,由上级方法调用(注意throws的使用)。创建此异常类的具体要求:异常类中需添加 excepMesagge()方法,用于调用Bank类的show_balance()方法,显示“您的取款金额为XXX,但是账户余额仅为XXX,操作不合法”。

创建主类: ExceptionDemo,用于测试新创建的两个类。 注意try-catch语句的使用, 并且在错误处理的catch块中,使用InsufficientFundsException异常类的excepMesagge()方法以及Exception类(父类)的toString()方法。最后添加finally块,输出“操作退出”。

package back11;public class Bank {double balance;public Bank(double balance) {this.balance = balance;}public void deposite(double dAmount) {this.balance += dAmount;}public void withdrawl(double dAmount) throws InsufficientFundsExpection{if (dAmount > balance) {throw new InsufficientFundsExpection();}balance -= dAmount;}public double show_balance() {return this.balance;}
}
package back11;
import java.util.*;public class ExceptionDemo {public static void main(String[] args) {Scanner rd = new Scanner(System.in);System.out.println("请创建账户:");double d = rd.nextDouble();Bank bk = new Bank(d);try {System.out.println("请存钱:");d = rd.nextDouble();bk.deposite(d);System.out.println("请输入取钱金额:");d = rd.nextDouble();bk.withdrawl(d);rd.close();} catch (InsufficientFundsExpection e) {System.out.println(e.excepMessage(bk.show_balance(), d));System.out.println(e.toString());}finally{System.out.println("您当前的余额为: " + bk.show_balance());System.out.println("操作退出!!!");}}
}
package back11;public class InsufficientFundsExpection extends Exception{public InsufficientFundsExpection() {}public InsufficientFundsExpection(String str) {super(str);}public String excepMessage(double d1, double d2) {String s1 = String.valueOf(d1);String s2 = String.valueOf(d2);String s3 = "您的取款金额为"+s1+", 但是账户余额仅为" + s2;return s3;}
}

西农大 Java实习 异常处理相关推荐

  1. 西农大 Java 实验四 第一题

    任务一:界面设计 请设计一个界面,包括:菜单,文本框,按钮,标签,文本区,选择框,单选按钮和下拉列表. package first;import java.awt.BorderLayout; impo ...

  2. java实习报告范文

      篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...

  3. 关于java实习心得总结(十篇)

    关于java实习心得总结(篇一) 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么TurboC,VisualC++好用,什么JA_HOME,CLASSPATH,虚拟机 ...

  4. Java 实习要掌握的知识

    1. Java 基础知识: Java 基础语法:包括变量.常量.数据类型.运算符.流程控制语句等. 面向对象编程的概念:如类.对象.继承.多态.接口等. 异常处理机制:如 try-catch-fana ...

  5. 优秀java实习报告范文5篇

      优秀java实习报告范文(一) 一:实习介绍 1)实习题目 学生信息管理系统的设计与开发 2)实习目的 <Java程序设计>课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三 ...

  6. JAVA 实习面试题大全必看

    JAVA 实习面试题大全必看 JavaSE 88 基础语法 9 Q1:简单说说Java有哪些数据类型 答:①分为基本数据类型和引用数据类型.②基本数据类型包括:数值型(byte.short.int.l ...

  7. java实习心得总结(八篇)

      java实习心得总结(篇一) 此次只实训了短短的三周.虽说时间很短,但其中的每一天都使我收获很大.受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对java有了全新的认识,在实 ...

  8. 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)

    在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...

  9. 西农计算机考研专业课压分,考研:西农大计算机初试第一名被淘汰,倒数第一成功逆袭...

    近期看了多所高校的考研录取名单,发现一个很普遍的现象,如果该校最终要刷的人是个位数,那么一般倒数第一都能逆袭成功上岸,而被淘汰掉的考生之中很大概率有初试高分者,且淘汰的原因就是面试不合格.在昨日西农大 ...

最新文章

  1. php中轮转图片js代码,js实现图片轮换效果代码
  2. Nginx+Keepalived+Proxy_Cache 配置高可用集群和高速缓存
  3. double free or corruption (fasttop)
  4. 地域面试:先来谈谈对MySQL索引的认识?
  5. Java高并发编程:HandlerThread
  6. 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!
  7. Rancher添加主机及对主机中的Docker容器进行图形化管理
  8. string转换成enum
  9. 奇异值分解 本质矩阵_Singular Value Decomposition(奇异值分解)
  10. 话里话外:中小型装备制造企业竞争优势构建之路
  11. 小型金融知识图谱构流程示范
  12. 兄弟9055cdn硒鼓清零_兄弟打印机清零设置
  13. html前端几种加密方式的整理,前端js几种加密/解密方法
  14. java 反正切不正确_反正切函数
  15. Coap协议(1)入门简介
  16. 1154 Vertex Coloring
  17. html水调歌头实验总结,水调歌头教学课堂总结
  18. 手机屏幕如何投屏到电脑上(Windows10)
  19. 店宝宝:电商拼购赛道正在路上
  20. ULID和UUID|ULID的学习及使用

热门文章

  1. 用java画企鹅_Fireworks绘制简笔QQ企鹅图像
  2. Tipask,Tipask建站,Tipask插件
  3. Win10 22H2更新时间 Win10 22H2怎么更新
  4. 深入研究Espresso的Idling Resource
  5. 学画画软件app推荐_可以学画画的APP有哪些?
  6. 把VBA转换成JAVA_请教,我用Excel中生成了Java代码,用VBA生成Jav
  7. 如何自己建网站,免费自助建站系统平台哪个最好?
  8. MBA回乡卖家电,谁给了他年销600万的底气?
  9. java解析word示例(支持docx、doc,wps格式)
  10. FlowJO X 流式补偿调整