有什么问题吗大佬

来源:1-9 经验总结

慕粉4382624

2018-12-07 01:55

异常页

package book;

public class NoBook extends Exception {
    public NoBook(){

    }
    public NoBook(String message){
        super(message);
    }
}


主页

package book;

import java.util.InputMismatchException;
import java.util.Scanner;
public class BookTest {
    public static void main(String[] args) {
        BookTest test = new BookTest();
        test.trys();
    }
    public void  trys(){
        try {
            showbooks();
        } catch (InputMismatchException e) {
            System.out.println("请输入数字");
            trys();
        }catch (NoBook e){
            System.out.println(e);
            trys();
        }
    }
    public void showbooks()  throws NoBook{
        Scanner input = new Scanner(System.in);
        String[] books = {"book1", "book2", "book3", "book4"};
        for(int i=0;i<books.length;i++){
            System.out.print(i+1+":"+books[i]+" ");
        }
        System.out.println();
        System.out.println("输入命令:1按照名称查找图书 2按照序号查找图书");
        int num = input.nextInt();
        int hasbook=0;
        if (num == 1) {
            System.out.println("请输入图书名");
            String bookname=input.next();
            for(String value:books){
                if(value.equals(bookname)){
                    hasbook=1;
                }
            }
            if(hasbook==1){
                System.out.println("书名:" + bookname);
            }else{
                throw new NoBook("图书不存在");
            }
        } else if (num == 2) {
            System.out.println("请输入图书序号");
            int index = input.nextInt();
            if(index>books.length){
                throw new NoBook("图书不存在");
            }else{
                System.out.println("书名:" + books[index-1]);
            }
        } else {
            throw new NoBook("输入错误,请重新输入");
        }

    }
}


写回答 关注

2回答

  • 饼神
    2019-01-14 00:03:22

    按你的代码,当提示输入错误之后,是不是就不能再输入了?

    每次执行完throw new NoBook("输入错误,请重新输入");之后程序就结束了,是不是得重跑程序才能继续输入正确的啊


  • 冯世新
    2018-12-08 12:50:58

    我看不出来


Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题