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

Java第三季第一章异常,作业,借书系统。能通过,但是健壮性和可读性不强

标签:
Java

一个借书系统,主要是使用异常来对借书时的情况进行把控。
基本可以跑。写的还是有点乱。
不足的地方还是很多的,希望大家指教,代码如下:

package com.Library;
import java.util.*;
public class BookNewSystem {
    final Book[] books={new Book(1,"数据结构"),new Book(2,"高数"),new Book(3,"C语言")}; 
     static Scanner input = new Scanner(System.in);
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        BookNewSystem BNS = new BookNewSystem();        
        while(true){
        System.out.println("输入命令:1-按照书名查找图书;2-按照序号查找图书");
        try{
        int input_number = inputNumber(); 
        switch(input_number){
        case 1:
            System.out.println("输入图书名称:");
            String bookname = input.next();
            String temp = BNS.FindBookByName(bookname);
//          BNS.FindBookByName(bookname);
            System.out.println("book:"+bookname);
            break;
        case 2:
            BNS.FindBookByOrder();
//          System.out.println("输入图书序号:");
//          int booknumber = inputNumber();
            break;

        default:
            System.out.println("命令输入错误!请根据提示输入数字命令!");
            continue;
        }
        break;
        }

        catch(Exception me){
            System.out.println(me.getMessage());
            continue;
        }       
        }

    }

     int FindBookByOrder(){
         int j=0;
         while(true){
         System.out.println("输入图书序号:");
         int booknumber = inputNumber();
         if(booknumber==-1){
             System.out.println("命令输入错误!请根据提示输入数字命令!");
             continue;
         }
         else{
             if(booknumber>books.length){
                 System.out.println("图书不存在");

                 break;
             }
             else{
                 System.out.println("book:"+books[booknumber-1].BookName);
                 break;
             }
         }

      }
         return 0; 
     }

     String FindBookByName(String name) throws Exception {
        int i=0;
        for(;i<books.length;++i){
            if(name.equals(books[i].BookName))
                return name;
        }
        throw new Exception("图书真的不存在!"+name);
    }

    static int inputNumber(){
        int order;
        Scanner inp = new Scanner(System.in);
        try{
            order = inp.nextInt();
            return order;
        }
        catch(Exception e){
            return -1;
        }       
    }   
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消