java自学笔记9:异常练习(模拟借书系统)
来源:互联网 发布:朋友陪你醉dj网络歌手 编辑:程序博客网 时间:2024/06/14 23:59
代码示例:
创建自定义异常类包customException,创建三种异常类BadCommandException,IdException,NameException
package customException;public class BadCommandException extends Exception{ public BadCommandException(){ }}
package customException;public class IdException extends Exception { public IdException(){ }}
package customException;public class NameException extends Exception { public NameException(){ }}
创建BookList,SearchBook类
package com.vihsuo.www;import java.util.Scanner;//导入输入包import java.util.Arrays;import customException.*;//导入自定义异常包import java.util.InputMismatchException; //导入输入不匹配异常 public class BookList {// BookList bookList = new BookList(); int isTure = 0;// 初始化isTure值为0,只有输入存在的书名与序号,isTure值才会变为1 public void Exc() throws BadCommandException { throw new BadCommandException();// 抛出错误命令异常 } public void Exc2() throws NameException { throw new NameException();// 抛出图书名称不存在异常 } public void Exc3() throws IdException { throw new IdException();// 抛出图书Id不存在异常 } String[] book = { "1java从放弃到放弃", "2三体", "3大泼猴", "4七宗罪", "5三国如花传" }; private Scanner selectMode; private Scanner bookNameInput; private Scanner seek; @Override public String toString() { return Arrays.toString(book); } public void showBookList() { System.out.println("当前图书目录:" + this.toString()); } public int selectFromBookId(int bookId) { String bookName = book[bookId]; System.out.println("书名:" + bookName + "\n恭喜您,借阅成功"); return bookId; } public void showUser() { System.out.println("欢迎使用租书系统"); this.showBookList(); System.out.println("请选择您要查找的方式:1按照名称查找图书;2按照序号查找图书"); selectMode = new Scanner(System.in); try { int mode = selectMode.nextInt(); // 用户输入的命令 if (mode == 1) { chooseBookName(); }else if(mode == 2){ chooseBookId(); } try { if(mode != 1 && mode != 2){ //若输入既不为1也不为2 Exc(); //调用mode,抛出BadCommandException异常 /*|*/ } } catch (BadCommandException e) { // TODO: handle exception System.out.println("命令输入错误!请根据提示输入数字命令!"); showUser(); //进行递归 } } catch (Exception e) { // TODO: handle exception System.out.println("命令输入错误!请根据提示输入数字命令!"); showUser();//进行递归,重新输入 } } public void chooseBookName() throws BadCommandException { System.out.println("请输入图书名称:"); bookNameInput = new Scanner(System.in); String bookName = bookNameInput.next();// 输入图书名称 try { if (Name(bookName) == 0) {// 如果书名不存在 Exc2();// 调用Exc2方法,抛出NameException异常 } } catch (NameException e) { // TODO: handle exception System.out.println("图书不存在!"); showUser(); // 调用showUser方法,重新开始 也可进行递归,重新输入图书名称 } } public void chooseBookId() throws BadCommandException { // 定义sacnner2类来用于输入图书序号进行处理 System.out.println("请输入图书序号:"); seek = new Scanner(System.in); try { int xuhao = seek.nextInt(); // 输入图书序号 if (Xuhao(xuhao) == 0) { // 如果序号不存在 Exc3();// 调用Exc3,抛出IdException异常 } } catch (IdException e) { // 捕捉XuHaoException异常 System.out.println("图书不存在!"); showUser(); // 调用showUser,重新开始 也可进行递归,重新输入图书序号 } catch (InputMismatchException e) { // 捕获输入不匹配异常(即不为整数) System.out.println("你应该输入整数!"); chooseBookId();// 递归 } } public int Name(String name) { switch (name) { case "java从放弃到放弃": System.out.println("书名:java从放弃到放弃"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case "三体": System.out.println("书名:三体"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case "大泼猴": System.out.println("书名:大泼猴"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case "七宗罪": System.out.println("书名:七宗罪"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case "三国如花传": System.out.println("书名:三国如花传"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; } return isTure; } public int Xuhao(int xuhao) { switch (xuhao) { case 1: System.out.println("book:java从放弃到放弃"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case 2: System.out.println("book:三体"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case 3: System.out.println("book:大泼猴"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case 4: System.out.println("书名:七宗罪"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; case 5: System.out.println("书名:三国如花传"); System.out.println("恭喜您,借书成功!"); isTure = 1; break; } return isTure; }}
package com.vihsuo.www;public class SearchBook { //主函数 public static void main(String[] args){ BookList bookList = new BookList(); bookList.showUser(); }}
阅读全文
0 0
- java自学笔记9:异常练习(模拟借书系统)
- JAVA自学笔记(四)异常
- 模拟借书系统简易版(慕课网java入门第三季异常)
- Java培训笔记22--自学异常类
- java自学笔记之异常处理
- Java自学笔记之struts2异常处理
- java自学笔记8:异常简介
- java自学笔记6:UML简介+阶段练习
- java自学笔记(一)
- Java自学笔记(一)
- JAVA自学笔记(1)
- JAVA自学笔记(1)
- JAVA基础作业练习—自定义异常之模拟ATM
- java自学笔记之多态 内部类 异常处理
- 自学Java系列 笔记2 异常处理1
- java 基础(异常练习)
- Java练习--异常(8)
- URL加载系统(ios自学笔记)
- Java事务处理的基本问题
- Tensorflow Tutorial
- link 标签中“rel=stylesheet”的作用
- 指针
- iOS 高效开发之,自动生成数据模型文件
- java自学笔记9:异常练习(模拟借书系统)
- 网站漏洞百出不利于主机安全
- SVG学习笔记(一)
- C++Primer第五版中的c++11特性归纳(一)
- 使用Redis的jedis客户端整合spring
- jquery-esayui的input框常用属性
- secrurecrt experenced a fatal error and must close.A crash dump file has been created in
- urllib模块和urllib2模块的区别
- webpack3.0案例(一)-- webpack初体验