weibo_爱你发自内心的微笑_0
2018-08-25 13:33:53浏览 2341
//Java入门第三季 1-9 的图书借阅系统
//异常处理 Exception/try/catch
public class Test {
public static void main(String[] args) {
Test t = new Test();
t.show();
}
public void show() {
Test t = new Test();
for (int i = 0; i > -1; i++) {
try {
t.bookRent();
break;
} catch (BookRentException be) {
// 这里包装成运行时异常的写法对吗?
RuntimeException re = new RuntimeException();
re.initCause(be);
System.out.println("图书不存在!");
//re.printStackTrace();
} catch (Exception e) {
System.out.println("命令输入错误,请根据提示输入数字命令!");
// 打印错误的具体信息。InputMismatchException
//e.printStackTrace();
}
}
}
int num;//保存用户输入的命令数字
String name;//书名
int index;//命令2输入的图书序号
public void bookRent() throws Exception {
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
Scanner inputNum = new Scanner(System.in);
Scanner inputName = new Scanner(System.in);
Scanner inputInd = new Scanner(System.in);
num = inputNum.nextInt();
if (num == 1) {
System.out.println("输入图书名:");
name = inputName.next();
if (name.equals("高数")) {
System.out.print("book:" + name);
} else {
throw new BookRentException("图书不存在!");
}
} else if (num == 2) {
System.out.println("输入图书序号:");
index = inputInd.nextInt();
if (index == 1) {
System.out.print("book:数据结构");
} else {
throw new BookRentException("图书不存在!");
}
} else {
throw new InputMismatchException();
}
}
}
热门评论
你运行成功了吗?
输入流应该有一个就够了吧
还不错,不过16行17行没必要包装成运行时异常,这两个语句可以删掉。54行抛出普通异常就行,保留这种写法也可以。