继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

异常处理--模拟借书系统

慕粉3405188
关注TA
已关注
手记 8
粉丝 3
获赞 217
---书类
package com.mengjiao;

public class Book {
    String bookName;
    int code;
    public Book(String bookName,int code){
        this.bookName = bookName;
        this.code = code;
    }
    public String getBookName() {
        return bookName;
    }

}
---程序入口类
package com.mengjiao;
import java.util.*;
public class MainClass {

    public static void main(String[] args) throws Exception{
        Book bk1 = new Book("数学",1);
        Book bk2 = new Book("语文",2);
        Book bk3 = new Book("英语",3);
        Book bk4 = new Book("物理",4);
        Book bk5 = new Book("化学",5);
        Book[] serial = {bk1,bk2,bk3,bk4,bk5};
        int m;
        Scanner input = new Scanner(System.in);
        while(true){
            try{
                System.out.println("输入命令: 1-按照名称查找图书;2-按照序号查找图书");
                m = input.nextInt();//可能抛出异常
                if(m!=1 && m!=2){
                    throw new Exception();//抛出异常
                }
                if(m==1){
                    System.out.println("输入图书名称:");
                    String s = input.next();
                    int i = 0;
                    for(i=0;i<5;++i){
                        if(serial[i].getBookName().equals(s))
                            break;
                    }
                    if(i==5){
                        System.out.println("图书不存在");
                    }
                    else
                        System.out.println("book:"+s);
                }
                else{
                    System.out.println("输入图书序号:");
                    int code = input.nextInt();
                    if(code > 5 || code < 1){
                        System.out.println("图书不存在!");
                    }
                    System.out.println("book:"+serial[code-1].getBookName());
                }   
            }catch(Exception e){
                System.out.println("命令错误!请根据提示输入数字命令");
                input.nextLine();
            }
            System.out.println("是否继续查找(y/n)");
            String s = input.next();
            while(!s.equals("y") && !s.equals("n")){
                System.out.println("请输入y或者n");
                s = input.next();
            }
            if(s.equals("n")){
                break;
            }
        }

    }

}

允许结果如下图
图片描述

欢迎大家分享

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你好 我想问一下if(serial[i].getBookName().equals(s))为什么不能用serial[i].BookName().equals(s)?求解


物理 查不到啊  其他都能查到··········

你上面书类写的  public String getBookName() { return bookName; }我通不过

写成

public String getBookName() {

return null;

}

倒是能够编译通过   不知道为啥

查看全部评论