慕粉3874958
2017-09-13 14:06
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] books ={"高数","语文 ","数学","政治","地理","汇编语言","C语言","遥感"};
int index;
while (true){
System.out.println("输入命令行:1-按书名查找;2-按序号查找");
String book;
//此时需要返回获取到的输入的值,若返回的值为整型则执行判断
try{index = Book.input();
//注意switch的用法
switch(index) {
case 1:
System.out.println("请输入图书名:");
//此时需要编写按书名查找的方法,并返回书名
book = Book.bookname();
System.out.println("book:"+ book);
break;
case 2:
book = Book.numbook();
System.out.println("book:"+ book);
break;
default:
System.out.println("第一次输入的整型输入有误,请重新开始。");
continue;
}
}catch (Exception bne){
//此处异常是由于图书不存在抛出来的
System.out.println(bne.getMessage());//获得抛出异常的文字信息
continue;//若检测到图书不存在这个异常,处理为重新执行While循环
}
}
}
while (true){......}
break 只跳出了switch,不能跳出while死循环。
所以“System.out.println("输入命令行:1-按书名查找;2-按序号查找");”仍然执行!
把default放在最后试试
Java入门第三季
409764 学习 · 4543 问题
相似问题