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

(java入门第3季作业 异常处理)模拟借书系统

标签:
Java
/*(book 类放在另一个类文件中)*/
package com.Partlibrary;
public class book {
    int num;
    String name;
    public book(int num,String name)
    {
        this.num=num;
        this.name=name;
    }
}
package com.Partlibrary;
import java.util.Scanner;

public class Library {
    static book[] books={new book(1,"算法导论"),new book(2,"java入门"),new book(3,"论语")};
    int ways;//输入的方法
    String s1;//输入的图书名字
    int num;//输入的图书序号

    public static void main(String[] args) {
        Library l=new Library();
        System.out.println("请输出查找方法,1 按照书名查找     2 按照序号查找");
        Scanner scan=new Scanner(System.in);    
        for(int i=1;i>0;i++)
        {   
            Scanner scan2=new Scanner(System.in);
            if(scan2.hasNextInt())
            {
                l.ways=scan2.nextInt();
                i=-i;
            }
            else
            {
                System.out.println("请输入正确的数字格式");
            }
        }       

        if(l.ways==1)
        {
            System.out.println("请输入图书的名字");
            for(int i=1;i>0;i++)
            {
                try
                {
                    Scanner scan1=new Scanner(System.in);
                    if(scan1.hasNextInt())//判断是整型
                    {
                        l.test1();//利用test抛出异常                  
                    }
                    else
                    {                       
                        l.s1=scan1.nextLine();//注意先进行判断然后在进行赋值操作        
                        i=-i;
                    }
                }catch(Exception e)
                {
                    System.out.println("请输入正确的图书名字");
                }

            }   

            for(int i=0;i<l.books.length;i++)
            {
                if(l.books[i].name.equals(l.s1))
                {
                    System.out.println("您已经成功借出《"+l.s1+"》 哈哈 ");
                    break;
                }
                if(i==l.books.length-1)
                {
                    System.out.println("对不起,没有您想要的书目 ");
                }
            }//输入的书名需要遍历馆内已有图书的名字,所以在判断条件时增加了一个for
        }

        else if(l.ways==2)
        {
            System.out.println("请输入图书的编号");
            for(int i=1;i>0;i++)
            {                   
                try
                {
                    Scanner scan1=new Scanner(System.in);
                    if(scan1.hasNextInt())
                    {
                        l.num=scan1.nextInt();
                        if(l.num>0&&l.num<l.books.length+1)
                        {
                            System.out.println("已经成功借出《"+books[l.num-1].name+"》 啊哈哈");
                            i=-i;
                        }
                        else
                            l.test1();
                    }
                    else
                        l.test1();//抛出异常
                }catch(Exception e)
                {
                    System.out.println("请输入正确的数字格式");
                }

            }       
        }//第二种选择方式仅仅需要对比序号即可,直接在try当中进行判断

    }   
    public void test1() throws Exception
    {
        throw new Exception();
    }

}
点击查看更多内容
4人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消