问答详情
源自:1-9 经验总结

请大神多多指教,有哪里可以更加完善

package bookStroe;

import java.util.Scanner;

public class BS {

         public static void main(String[] args){

         String[][] book = {{"1","论语"},{"2","数据库"},{"3","建模"}};    //初始化书店的书

         while(true) {    //无限循环查书

                 try {

                     System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书;");

                     int num=new Scanner(System.in).nextInt();

                     if(num!=1&&num!=2) {       //只有1,2两个选项,输入其他命令均抛出异常

                         throw new ClassCastException("命令输入错误!请根据提示输入数字命令!"); 

                     }

                     String bName=null;        //定义一个空指针

                     if(num==1) {

                         System.out.println("图书名称:");

                         String name=new Scanner(System.in).nextLine();

                         for(int i=0;i<book.length;i++) {

                              if(name.equals(book[i][1])) {

                                  bName="book:"+book[i][1];        //有找到书就赋值给先前定义的空指针

                                  break;        //停止查书系统

                              }

                          }

                     System.out.println(bName.toString());        //引用,如果bName为空则抛出异常

                     break;        //退出查书系统

                 }

                 if(num==2) {

                     System.out.println("图书序号:");

                     int mark=new Scanner(System.in).nextInt();

                     System.out.println("book:"+book[mark-1][1]);

                     break;        //退出查书系统

                 }

             }catch(NullPointerException e) {

                 System.out.println("图书不存在");            //空指针异常

             }catch(ArrayIndexOutOfBoundsException e) {

                 System.out.println("没那么多本书");        //数组溢出异常

             }catch(Exception e) {

                 System.out.println("命令输入错误!请根据提示输入数字命令!");        //其他异常

             }

         }

     }

}


提问者:卷卷的慕慕 2019-10-07 17:08

个回答

  • 慕尼黑4244925
    2019-10-09 21:48:01

    可以考虑加一个选择图书后重新回到选课系统,在输入时根据输入的值判断是否退出查看操作,,,另外可以建议你向多本书查询



  • 好系
    2019-10-09 15:30:28

    强强强