为了账号安全,请及时绑定邮箱和手机立即绑定

我写的事例,欢迎讨论

package com.exception;
import java.util.*;

public class Test {

    String[] book = {"高数","英语","语文","数据","java"};
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
        int receive = scanner.nextInt();
        Test test = new Test();
        try {
            switch(receive) {
                case 1:
                    test.book();
                    break;
                case 2:
                    test.num();
                    break;
                default:
                    throw new NoBookException("命令输入错误!请根据提示输入数子命令!");
            }
        }catch(NoBookException e) {
            e.printStackTrace();
            System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
        }
    }
    
    public void book() throws NoBookException{
        System.out.println("输入图书名称:");
        Scanner sb = new Scanner(System.in);
        String name = sb.next();
        boolean flag = false;
        for(String bk:book) {
            if(name.equals(bk)) {
                flag = true;
                break;
            }
        }
        if(flag) {
            System.out.println("book:"+name);
        }else {
            throw new NoBookException("图书不存在!");
        }
    }
    
    public void num() throws NoBookException{
        System.out.println("输入图书序号:");
        Scanner sn = new Scanner(System.in);
        int i = sn.nextInt();
        String str = book[i-1];
        if(str == null || str.equals("")) {
            throw new NoBookException("图书不存在!");
        }else {
            System.out.println("book:"+str);
        }
    }
}

正在回答

3 回答

没有异常提示语句啊

0 回复 有任何疑惑可以回复我~
#1

慕码人9302225

不对 看错了
2018-12-05 回复 有任何疑惑可以回复我~

为什么,你在try{}用到book()方法,而这个方法后面才定义,在main方法中,是从上到下执行的,虽然你有用try铺抓异常,但最好还是先定义后使用;

0 回复 有任何疑惑可以回复我~
#1

无名氏2015 提问者

book()不是后面定义,它本就是类的一个方法属性,通过test类调用方法属性,分类写更明确些
2018-11-15 回复 有任何疑惑可以回复我~

NoBookException??这个是你自己定义的异常吗?


0 回复 有任何疑惑可以回复我~
#1

无名氏2015 提问者

是的,代码没贴出来
2018-11-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我写的事例,欢迎讨论

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信