zoukankan      html  css  js  c++  java
  • 异常处理2

    建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

    package exception;
    
    
    
    public class Bank {
        
        double balance;
        
        Bank(double cunkuan)
        {
            this.balance+=cunkuan;
            System.out.println("您存了"+cunkuan+"元,当前余额为:"+this.balance);
        }
        
        void withDrawal(double dAmount) throws Exception
        {
            
            if(dAmount>this.balance)
            {
                throw new InsufficientFundsException();
            }
            
            if(dAmount<0)
            {
                throw new NagativeFundsException();
            }
            this.balance-=dAmount;
            System.out.println("您取了"+dAmount+"元,当前余额为:"+this.balance);
        }
        
        public static void main(String args[]) 
        {
            Bank bb=new Bank(100);
            
            
                try {
                    bb.withDrawal(23);
                } catch (Exception e1) {
                    // TODO 自动生成的 catch 块
                    e1.printStackTrace();
                }
            
            //取款金额为负
                try {
                    bb.withDrawal(-6);
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
                
            //取款金额大于存款
            
                try {
                    bb.withDrawal(150);
                } catch (Exception e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
                    
                
            
                
        }
        
        
        
    
    }
    package exception;
    
    public class InsufficientFundsException extends Exception {
    
        @Override
        public String getMessage() {
            // TODO 自动生成的方法存根
            return "余额不足";
        }
    
        
        
    }
    package exception;
    
    public class NagativeFundsException extends Exception {
    
        @Override
        public String getMessage() {
            // TODO 自动生成的方法存根
            return "取款额不能为负";
        }
    
        
        
        
    }

    运行结果:

  • 相关阅读:
    OpenStack 中的neutron-server启动过程
    NYOJ 284 坦克大战 【BFS】+【优先队列】
    HDSF主要节点解说(二)工作原理
    SQL SERVER中的流程控制语句
    Android 自己定义View (二) 进阶
    JNI学习积累之一 ---- 常用函数大全
    Android NDK开发之Jni的数据类型
    CMakeListx.txt 编辑语法学习
    用CMake代替makefile进行跨平台交叉编译
    Android 开发--CMakeList调用本地so文件
  • 原文地址:https://www.cnblogs.com/miss123/p/5537294.html
Copyright © 2011-2022 走看看