Java中捕获异常、声明异常、抛出异常的项目实例

Java项目实例

一、项目目标
  1.掌握如何捕获异常、声明异常、抛出异常;
  2.掌握如何自定义异常;
  3.掌握如何处理异常。
二、项目任务
  虚拟银行取钱过程,如果取钱数大于余额时,则需要做异常处理。
  例如取钱2000元,余额为1500元,就会出现设计好的异常处理信息。
  如下所示:

InsufficientFundsException   
The balance is 1500.0   
The withdrawal was 2000.0

三、项目分析
  1.项目完成思路
  根据项目描述的项目功能需求,本项目需要有实体类银行,义务逻辑取钱,异常处理类等,具体可以按照以下过程实现:
  (1)构造实体类——银行类(Bank),它有属性存款数,有构造方法,有方法取钱、存钱和显示余额。
  (2)创建自定义异常类(InsufficientFundsException),它有属性银行对象和要取的钱,有构造方法,有显示错误信息的一个方法。
  (3)创建前端调用类(ExceptionDemo),创建银行对象,对初始存款数及需要取款数赋值,看看如果取款数大于存款数会出现什么样的结果。
  2.需要解决的问题
  (1)如何构造银行类(Bank)?怎样定义属性存款数?怎样定义构造方法?怎样定义取钱、存钱和显示余额的方法?
  (2)如何创建自定义异常类(InsufficientFundsException)?怎样定义属性银行对象和要取的钱?怎样定义构造方法?怎样创建显示错误信息的一个方法?
  (3)如何创建前端调用类(ExceptionDemo)?对于不同的赋值,都会有怎样不同的结果?
  
参考代码如下:

package text;

import java.util.Scanner;

public class mode_bank {
	public static void main(String[] args) {
		Bank b = new Bank(1500.0f);
		float to_get_money = 2000.0f;
		InsufficientFoundsException ife = new InsufficientFoundsException(b,to_get_money);
		ife.show_Exception(to_get_money);
	}
}

class Bank{
	float saving;
	
	public Bank(float saving){
		this.saving = saving;
	}
	
	public float get_money(float n) {
		saving -= n;
		return saving;
	}
	
	public float add_money(float n) {
		saving +=n;
		return saving;
	}
	
	public void display_money() {
		System.out.println("该账户余额为" + saving);
	}
}

//自定义异常类	(运行时异常 RuntimeException)
class InsufficientFoundsException extends Exception{
	Bank b;
	float to_get_money;
	public InsufficientFoundsException(Bank b, float to_get_money){
		this.b = b;
		this.to_get_money = to_get_money;
	}
	
	public void show_Exception(float to_get_money) {
		if(b.get_money(to_get_money) < 0) {
			System.out.println("账户余额不足!");
		}
		else {
			b.display_money();
		}
	}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佐_佑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值