西农大 Java实习 异常处理
实验题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实习 异常处理相关推荐
- 西农大 Java 实验四 第一题
任务一:界面设计 请设计一个界面,包括:菜单,文本框,按钮,标签,文本区,选择框,单选按钮和下拉列表. package first;import java.awt.BorderLayout; impo ...
- java实习报告范文
篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...
- 关于java实习心得总结(十篇)
关于java实习心得总结(篇一) 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么TurboC,VisualC++好用,什么JA_HOME,CLASSPATH,虚拟机 ...
- Java 实习要掌握的知识
1. Java 基础知识: Java 基础语法:包括变量.常量.数据类型.运算符.流程控制语句等. 面向对象编程的概念:如类.对象.继承.多态.接口等. 异常处理机制:如 try-catch-fana ...
- 优秀java实习报告范文5篇
优秀java实习报告范文(一) 一:实习介绍 1)实习题目 学生信息管理系统的设计与开发 2)实习目的 <Java程序设计>课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三 ...
- JAVA 实习面试题大全必看
JAVA 实习面试题大全必看 JavaSE 88 基础语法 9 Q1:简单说说Java有哪些数据类型 答:①分为基本数据类型和引用数据类型.②基本数据类型包括:数值型(byte.short.int.l ...
- java实习心得总结(八篇)
java实习心得总结(篇一) 此次只实训了短短的三周.虽说时间很短,但其中的每一天都使我收获很大.受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对java有了全新的认识,在实 ...
- 异常处理器详解 Java多线程异常处理机制 多线程中篇(四)
在Thread中有异常处理器相关的方法 在ThreadGroup中也有相关的异常处理方法 示例 未检查异常 对于未检查异常,将会直接宕掉,主线程则继续运行,程序会继续运行 在主线程中能不能捕获呢? 我 ...
- 西农计算机考研专业课压分,考研:西农大计算机初试第一名被淘汰,倒数第一成功逆袭...
近期看了多所高校的考研录取名单,发现一个很普遍的现象,如果该校最终要刷的人是个位数,那么一般倒数第一都能逆袭成功上岸,而被淘汰掉的考生之中很大概率有初试高分者,且淘汰的原因就是面试不合格.在昨日西农大 ...
最新文章
- php中轮转图片js代码,js实现图片轮换效果代码
- Nginx+Keepalived+Proxy_Cache 配置高可用集群和高速缓存
- double free or corruption (fasttop)
- 地域面试:先来谈谈对MySQL索引的认识?
- Java高并发编程:HandlerThread
- 【视频课】如何掌握好深度学习之视频分类与行为识别?这一门课足矣!
- Rancher添加主机及对主机中的Docker容器进行图形化管理
- string转换成enum
- 奇异值分解 本质矩阵_Singular Value Decomposition(奇异值分解)
- 话里话外:中小型装备制造企业竞争优势构建之路
- 小型金融知识图谱构流程示范
- 兄弟9055cdn硒鼓清零_兄弟打印机清零设置
- html前端几种加密方式的整理,前端js几种加密/解密方法
- java 反正切不正确_反正切函数
- Coap协议(1)入门简介
- 1154 Vertex Coloring
- html水调歌头实验总结,水调歌头教学课堂总结
- 手机屏幕如何投屏到电脑上(Windows10)
- 店宝宝:电商拼购赛道正在路上
- ULID和UUID|ULID的学习及使用