定义了三个类

ErrorCodeException.java

public class ErrorCodeException extends Exception {

public ErrorCodeException(){

}

public ErrorCodeException(String message){

super(message);

}

}

NoExitBookException.java

public class NoExitBookException extends Exception {

public NoExitBookException() {

}

public NoExitBookException(String message) {

super(message);

}

}

BorrowBookSystem.java

public class BorrowBookSystem {

String[] library = {"Java", "Python", "javascript", "Android", "iOS", "Linux", "Unix", "C", "C++", "C#", "Ruby", "Django", "Flask"};

public static void main(String[] args) {

BorrowBookSystem system = new BorrowBookSystem();

system.borrow();

}

public void borrow() {

while (true) {

int command = 0;

try {

command = command();

} catch (ErrorCodeException e) {

System.out.println(e.getMessage());

}

if (command == 1) {

try {

queryBookName();

} catch (NoExitBookException e) {

System.out.println(e.getMessage());

}

} else if (command == 2) {

try {

queryBookCode();

} catch (ErrorCodeException e) {

System.out.println(e.getMessage());

} catch (NoExitBookException e) {

System.out.println(e.getMessage());

}

}

}

}

public int command() throws ErrorCodeException {

int result;

System.out.println("输入查询命令:1-按照图书名称查询,2-按照图书序列号查询。");

Scanner scanner = new Scanner(System.in);

String command = scanner.next().trim();

if (command.equals("1")) {

result = 1;

} else if (command.equals("2")) {

result = 2;

} else {

throw new ErrorCodeException("命令输入错误!请根据提示输入数字命令!");

}

return result;

}

private void queryBookCode() throws ErrorCodeException, NoExitBookException {

System.out.println("输入图书序列号:");

Scanner scanner = new Scanner(System.in);

String next = scanner.next().trim();

int number;

try {

number = Integer.parseInt(next);

} catch (Exception e) {

throw new ErrorCodeException("命令输入错误!请根据提示输入数字命令!");

}

try {

String bookName = library[number];

System.out.println("book:" + bookName);

} catch (Exception e) {

throw new ErrorCodeException("图书不存在!");

}

}

private void queryBookName() throws NoExitBookException {

System.out.println("输入图书名称:");

Scanner scanner = new Scanner(System.in);

String next = scanner.next().trim();

boolean result = false;

for (int i = 0; i < library.length; i++) {

if (library[i].equals(next)) {

System.out.println("book:" + library[i]);

result = true;

break;

}

}

if (!result) {

throw new NoExitBookException("图书不存在!");

}

}

}

java图书馆借书问题_图书馆借书系统-Java异常的学习和处理相关推荐

  1. java代码审计ssrf危险函数_某租车系统Java代码审计之后台注入漏洞分析

    CMS简介 系统基于租车业务场景而搭建的O2O服务平台,可为用户提供商务租车.接送机.旅游租车.企业租车.自驾租车.婚庆用车等自助租车服务. 系统包含车辆库管理.门店管理.员工管理.司机管理.订单管理 ...

  2. 你知道我有多么喜欢看书吗_我喜欢书

    你知道我有多么喜欢看书吗 I have a pretty extensive library of paper books. 我有一个相当丰富的纸质图书馆. Many of them are abou ...

  3. java中execution的作用_一文初步了解Java虚拟机

    大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制.编译过程和如何对Java程序进行调优相信都会有一个很好的认知. 什么是JVM? JVM(Java Virtual Machin ...

  4. java语言用什么编程_使用什么编程语言开发Java?

    The Java Language is a language specification – you don't write a language in a language, it's a spe ...

  5. java反射获取方法内部_公共技术点之 Java 反射 Reflection

    本文为 Android 开源项目源码解析 公共技术点中的 Java 反射 部分 分析者:Mr.Simple,校对者:Trinea,校对状态:未完成 1. 了解 Java 中的反射 1.1 什么是 Ja ...

  6. 无忧考吧2017二级java_无忧考吧二级JAVA超级模拟软件下载_无忧考吧二级JAVA超级模拟软件官方下载-太平洋下载中心...

    无忧考吧二级JAVA超级模拟软件是一款可以帮助用户朋友来学习计算机二级java语言考试的软件,使用这款二级java模拟考试软件可以帮助用户快速的掌握学习内容和操作逻辑,让你顺利的通过二级java考试. ...

  7. java webservice报文过长_工作1-5年的Java程序猿到底需要怎样的一个技术栈?

    工作1-5年的Java程序猿到底需要怎样的一个技术栈? 前言: 具有1-5年开发经验的程序员 需要学习的内容其实还有很多很多. 今天跟大家交流一下希望分享出来的对大家能够有帮助,这是我这些年总结出的一 ...

  8. java 序列化概念和作用_结合代码详细解读Java序列化与反序列化概念理解

    Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列 ...

  9. java代码删除文件夹_删除文件夹的java类

    /** * @author www.nwu.edu.cn MiniRice * @author darkrice@gmail.com * @version    1.2 * */ http://www ...

  10. java调用打印预览_急求一个用Java实现的打印及打印预览功能的Demo

    展开全部 package com.szallcom.tools; import java.awt.BorderLayout; import java.awt.Color; import java.aw ...

最新文章

  1. SQL Cursor(游标)
  2. bind、call、apply
  3. 在featureDataset和workspace下創建featureclass
  4. pytorch运行遇到的问题_如何解决吸塑机在运行中遇到真空度的问题
  5. 解读ImageView的wrap_content和adjustViewBounds的工作原理
  6. 常用的python命令行解析库
  7. Xtrabackup--InnoDB备份工具介绍(1)
  8. mysql安装包及驱动下载
  9. 如何用计算机算回归方程,简单线性回归方程与在线计算器_三贝计算网_23bei.com...
  10. 线性代数之 矩阵的迹
  11. cvc 降噪_CVC降噪和DSP降噪有什么区别?
  12. python词云分析文本_用python实现词频分析+词云
  13. CTF实验找不到ssh2john
  14. 互联网券商证券公司网上开户系统设计
  15. 深入了解 Flex 属性
  16. ERROR 1197 (HY000)问题原因及解决方法
  17. 图像处理时为什么灰度化 【文末赠书】
  18. CSAPP Architecture Lab PartC满分
  19. 腾讯云一键搭建WordPress博客网站
  20. 【Windows脚本】打印机脚本1-添加打印机(无需物理打印机)

热门文章

  1. python3做答题器_现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器...
  2. Java数据库课程设计-招聘人才管理系统
  3. 中标2020中国联通数据设备集采项目,中兴通讯备受鼓舞
  4. OneDrive网盘资源下载教程
  5. 华为私密相册计算机找回密码,华为手机隐私空间密码忘了怎么办 华为手机隐私空间密码忘了解决方法...
  6. linux伪造ip数据包,伪造ICMP数据包的IP层
  7. wireshark分析ICMP数据包
  8. 世界首例AI同性婚姻惊呆众人 | Siri和Alexa结婚了
  9. 解决extremeComponents中文按拼音排序问题
  10. 安卓源码下载的环境搭建