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

输入字符,便会无限循环运行下去,为何?

标签:
Java

package jieshu;

import java.util.Scanner;

public class BookManger {
static Scanner scan=new Scanner(System.in);
public static void main(String[] args) {

    // TODO 自动生成的方法存根
    String book[]={"java","c语言","数据结构","操作系统","数据库","计算机网络"};//用来存储书名
    while(true)
    {
        System.out.println("请输入1:用书名查找书籍,2:用下标查找书籍");
        String book1;
        try{
        int in=input();
        switch(in)
        {
        case 1:book1=getbookbyname(book);
        System.out.println("找到的书籍为:"+book1);
        break;
        case 2:book1=getbookbynumber(book);
        System.out.println("找到的书籍为:"+book1);
        break;
        case -1:
        System.out.println("输入错误请重新输入数字!");
        continue;
        default:
        System.out.println("输入错误!");
        continue;
        }
    }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
            continue;
        }

        }

    }

private static String getbookbyname(String[] book) throws Exception{
    // TODO 自动生成的方法存根
    System.out.println("请输入名字");
    String name=scan.next();
    for(int i=0;i<book.length;i++)
    {
        if(name.equals(book[i]))
            return book[i];
    }

     throw new Exception("图书不存在");
}

private static String getbookbynumber(String[] book) throws Exception{

    // TODO 自动生成的方法存根
    System.out.println("请输入下标");
    try{int index=scan.nextInt();
    for(int i=0;i<book.length;i++)
    {
        if(index==i)
        return book[index];
    }
    }
    catch(ArrayIndexOutOfBoundsException e)
    {
        Exception booknotexist=new Exception("图书不存在");
        booknotexist.initCause(e);
        throw booknotexist;
    }
    return null;
}

public static int input()
{
    try
    {
    int in=scan.nextInt();
    return in;
    }
    catch(Exception e)
    {
        System.out.println("请输入1或2的整数!");
        return -1;
    }

}

}

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消