卷卷的慕慕
2019-10-07 17:08
package bookStroe;
import java.util.Scanner;
public class BS {
public static void main(String[] args){
String[][] book = {{"1","论语"},{"2","数据库"},{"3","建模"}}; //初始化书店的书
while(true) { //无限循环查书
try {
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书;");
int num=new Scanner(System.in).nextInt();
if(num!=1&&num!=2) { //只有1,2两个选项,输入其他命令均抛出异常
throw new ClassCastException("命令输入错误!请根据提示输入数字命令!");
}
String bName=null; //定义一个空指针
if(num==1) {
System.out.println("图书名称:");
String name=new Scanner(System.in).nextLine();
for(int i=0;i<book.length;i++) {
if(name.equals(book[i][1])) {
bName="book:"+book[i][1]; //有找到书就赋值给先前定义的空指针
break; //停止查书系统
}
}
System.out.println(bName.toString()); //引用,如果bName为空则抛出异常
break; //退出查书系统
}
if(num==2) {
System.out.println("图书序号:");
int mark=new Scanner(System.in).nextInt();
System.out.println("book:"+book[mark-1][1]);
break; //退出查书系统
}
}catch(NullPointerException e) {
System.out.println("图书不存在"); //空指针异常
}catch(ArrayIndexOutOfBoundsException e) {
System.out.println("没那么多本书"); //数组溢出异常
}catch(Exception e) {
System.out.println("命令输入错误!请根据提示输入数字命令!"); //其他异常
}
}
}
}
可以考虑加一个选择图书后重新回到选课系统,在输入时根据输入的值判断是否退出查看操作,,,另外可以建议你向多本书查询
强强强
Java入门第三季
409792 学习 · 4340 问题
相似问题