寂Mo聆听
2016-03-02 18:30
package test3;
import java.util.Scanner;
public class M2 {
public static void main(String[] args) {
System.out.println("***欢迎来到图书馆系统***");
System.out.println("输入命令:1.按照名称查找图书;2.按照序号查找图书");
Scanner input=new Scanner(System.in);
M2 clc=new M2();
try{int a=input.nextInt();
if(a==1){System.out.println("输入图书名称:");
String b=input.next();
clc.book(b);
}
else if(a==2){
System.out.println("输入图书序号:");
int c=input.nextInt();
clc.book2(c);
}
}catch(Exception e){
e.printStackTrace();
System.out.println("命令输入错误!请根据提示输入数字命令!");
}
} String name;
public void book(String name) throws Exception{
this.name=name;
if(name.equals("高数")){System.out.println("book:"+name);}
else if(name.equals("数据结构")){System.out.println("book:"+name);
}else{throw new Exception("图书不存在!");}
}int num=0;
public void book2(int num) throws Exception{
this.num=num;
if(num==1){System.out.println("book:高数");}
else if(num==2){System.out.println("book:数据结构");}
else{throw new Exception("图书不存在!");}
}
}
当你借书的时候如果输入的不是1和2~我输一个3~你的异常会抛出么?所以你应该将第一次输入数字的时候也声明会抛出异常~当进入借书系统输入数字不为1和2的时候,抛出异常~~~~~这几句String name; this.name=name; int num=0;this.num=num;显得有些多余~
你这个太简单了,为什么不用数组去存储数据
这个借书系统可能会产生两个异常,所以你应该将用户的输入命令单独用一个方法来编写,然后在用户输入方法中添加try-catch语句进行异常捕捉并提示"命令输入错误!请根据提示输入数字命令!"。
Java入门第三季
409775 学习 · 4546 问题
相似问题