自定义异常练习(以银行的存款取款为例)

package com.zidingyi;

public class NewException extends Exception {

    public NewException()
    {
        System.out.println("账户余额不足,无法完成取款");
    }

}
package com.zidingyi;

public class Bank {
    //成员变量

    private double yue;

    public double getYue() {
        return yue;
    }

    public void setYue(double yue) {
        this.yue = yue;
    }

    //成员方法

    //存钱
    public double cunqian(double cun)
    {
        yue+=cun;
        return yue;
    }

    //取钱
    public void quqian(double qu) throws NewException
    {
        if(qu>yue)
        {

            System.out.println("取款金额为:"+qu);
            throw new NewException();
        }
        else
        {
            yue-=qu;
            System.out.println("取款金额为:"+qu);
        }
    }

    public static void main(String[] args) {

        Bank b = new Bank();
        b.cunqian(100);
        try
        {
            b.quqian(100);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        System.out.println("账户余额为:"+b.yue);

    }

}

以上情况是当取款金额小于等于账户余额时,如果我们的取款金额大于账户余额,则如下图:

时间: 2024-10-10 03:23:00

自定义异常练习(以银行的存款取款为例)的相关文章

多线程的互斥同步(存款取款基础版)

1.互斥:多个线程同时访问一个资源的时候,由于线程执行的不稳定,使得资源数据遭到破坏: 经典的例子:银行的存款和取款(两个线程访问一个1000元账户,A线程取200,B线程寸300,由于线程执行的不稳定,在A执行到取出1000-200的操作时, (此时还未将执行结果保存到账户)CPU执行权到B线程,B取到的还是1000 +300 = 1300....).为了防止这种情况,应该将互斥的资源加上同步锁 1 package com.thread; 2 /** 3 * 模拟同步取款的问题 4 * @au

关于简单的银行查询、取款存款的写法

String userName = "chen";// 初始化用户名和密码 String userPawd = "12345"; boolean isOk = true; int balance = 1000; int i = 2; while (isOk) { System.out.println("欢迎来到中国银行ATM系统中心" + "\r" + "请登录"); Scanner input = new

面向对象—存款取款

1 String zhanghu;//定义账户 2 double cunkuanyue;//定义存款余额 3 Account(String zhanghu,double cunkuanyue)//初始化账户,存款余额 4 { 5 //this. 代表当前类 6 this.zhanghu=zhanghu; 7 this.cunkuanyue=cunkuanyue; 8 } 9 //存款 10 //有返回值带参数的方法 11 double cunkuan(double qianshu) 12 { 1

Java 多线程 锁 存款 取款

http://jameswxx.iteye.com/blog/806968 最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣.已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 .慢慢写吧.本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢 了.关于java线程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是很痛苦的,知道一些东西,但想

编写代码:ATM的登陆界面(用户验证、主菜单的选择) 查询-- 存款-- 取款-- 退出

#include <stdio.h>#include <windows.h>int main (void){    int password,one,two,money1=1000000,money2=999999,a=0;//a为取的金额 money1为人命币   money2 为美元     printf("请输入您的密码:\n");    scanf("%d",&password);if(password==123456){  

Jsp+JavaBean+Servlet实现模拟银行账户存取款等功能的网站(实习第4-8天)

本来想学J2EE的3个经典框架(Spring + Struts +Hibernate),奈何负责实习的老师只讲了Jsp+JavaBean+Servlet,项目时间还蛮紧的,所以只用JJS实现了这个项目,后面寒假有时间的话再用SSH实现并完善这个网站吧.前几天抽时间学了点前端的东西,感觉还是有点麻烦的,前端做既漂亮又有良好的兼容性不是件太容易的事情,所幸现在觉得能够静下来学技术做开发是件挺幸福的事情.网站的源代码上传到了CSDN上的code仓库,以后有时间会慢慢把这个项目的前端和后台做的更完善.

core java 7 exception

MODULE 7 Exceptions---------------------------- 程序正常执行过程中遇到的意外情况 引发异常的因素: 1)程序本身的内在因素 2)外部因素引发的,程序无须关注例:数组访问越界异常: 除以0: 异常发生:1)会在发生的位置抛出异常2)程序的正常流程会发生改变3)对于抛出的异常需要进行捕获处理try { //正常的程序执行流程}catch(异常1){ //异常1的处理代码}catch(异常2){ //异常2的处理代码}finally{ //无论是否出现异

c++ 银行管理系统及报告

1.题目描述: 本代码为银行管理系统,整体分为管理员模式和普通用户模式: (1)在管理员模式中能完成 ①用户信息录入 ②修改管理员密码 ③修改指定账户信息 ④信息管理业务 (2)在普通用户模式下,能完成注册和转账 在注册中用户必须输入必要的注册信息 在登录功能中将需要密码,登陆成功厚能实现 ①存款  ②取款   ③转账  ④查询余额   ⑤修改个人信息(账号.用户名.密码.身份证号.电话)  ⑥显示账户信息 2.分析思路 (1)本银行管理系统下整体通过类来完成,以实现更好的封装性,每一个类对象即

———银行模拟系统———

本程序实现了简单的银行系统 据有开户.存款.转账.取款.查询.改密等基本功能 还加上了注销账户.解挂.挂失.银行信息统计等功能. 本程序共5个文件: 它们的代码是: 文件 main.cpp #include <iostream> #include "bank.h" using namespace std; /*主函数:*/ int main() { cout<<endl; cout<<" $$$$$$$$$$$$$$$$$$$$$$$$$$