作业-异常处理2

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

package Bank;

public class Bank {
    private static double balance;
    Bank(){

    };
    Bank(double balance){
        this.balance=balance;
    }
    public static void withDrawal(double dAmount) throws InsufficientFundsException,NagativeFundsException{
        if(dAmount>balance){
            throw new InsufficientFundsException();
        }
        if(dAmount<0){
            throw new NagativeFundsException();
        }
    }
    public static void main(String[] args){
        Bank b=new Bank(100);
        System.out.println("我有"+balance+"元存款!");
        try{
            withDrawal(150);
        }catch(InsufficientFundsException | NagativeFundsException e){
            e.printStackTrace();
        }
        try{
            withDrawal(-15);
        }catch(NagativeFundsException |InsufficientFundsException e){
            e.printStackTrace();
        }
    }
}

package Bank;

public class InsufficientFundsException extends Exception {
    public String getMessage(){
        return "您的余额不足!";
    }
}

package Bank;

public class NagativeFundsException extends Exception{
    public String getMessage(){
        return "取款金额不能为负数!";
    }
}

时间: 2024-10-08 20:43:07

作业-异常处理2的相关文章

作业-异常处理

建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理. for(inti=0;i<4;i++){ int  k; switch(i){ case 0: int zero=0; k=911/zero; break; case1: int  b[]=null; k = b[0]; break; case2: int c[]=new int[2]; k=c[9]; break; case3: char  ch="abc&

异常处理---动手动脑及课后作业

动手动脑1:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. 源码: import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception

7多态与异常处理的课上作业

1.怎样判断对象是否可以转换?可以使用instanceof运算符判断一个对象是否可以转换为指定的类型: Object obj="Hello"; if(obj instanceof String) System.out.println("obj对象可以被转换为字符串"); (1)下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d;         //编译正确,因为子类对象可以直接赋给基类变量. d=m;        //编译错误,基类对

JAVA多态与异常处理课后作业

1.动手动脑:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识 import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; k=i/j; try { k = i/j;    // Causes division-by-zero exception //throw new Exception(

课程作业10:异常处理课件中动手动脑的相关问题。

1.阅读以下代码CatchWho.java,CatchWho2.java,写出程序运行的结果:阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结. CatchWho.java示例代码: package ExceptSourceCode07; public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsExceptio

多态与异常处理(课后作业)

1.finally语句块一定会执行吗? 请通过 SystemExitAndFinally.java示例程序回答上述问题 代码: public class SystemExitAndFinally { public static void main(String[] args) { try{ System.out.println("in main"); throw new Exception("Exception is thrown in main"); //Syst

JAVA 多态和异常处理作业——动手动脑以及课后实验性问题

1.  阅读以下代码(CatchWho.java),写出程序运行结果: 1)  源代码 public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException(); } catch(ArrayIndexOutOfBoundsException e) { System.out.println(  "ArrayIndexOutOfBoun

多态与异常处理课后作业

动手动脑:多层的异常捕获-1 源代码: public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException(); } catch(ArrayIndexOutOfBoundsException e) { System.out.println( "ArrayIndexOutOfBoundsException" + "

异常处理课堂作业

1.源代码: import java.util.Scanner; import java.util.InputMismatchException; public class ChengJi { public static void main(String[] args){ //TODO 自动生成的方法存根 int n=0; Scanner scan=new Scanner(System.in); System.out.println("请输入一个0~100的整数:"); for(;;)