java图书馆借书问题_图书馆借书系统-Java异常的学习和处理
定义了三个类
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异常的学习和处理相关推荐
- java代码审计ssrf危险函数_某租车系统Java代码审计之后台注入漏洞分析
CMS简介 系统基于租车业务场景而搭建的O2O服务平台,可为用户提供商务租车.接送机.旅游租车.企业租车.自驾租车.婚庆用车等自助租车服务. 系统包含车辆库管理.门店管理.员工管理.司机管理.订单管理 ...
- 你知道我有多么喜欢看书吗_我喜欢书
你知道我有多么喜欢看书吗 I have a pretty extensive library of paper books. 我有一个相当丰富的纸质图书馆. Many of them are abou ...
- java中execution的作用_一文初步了解Java虚拟机
大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制.编译过程和如何对Java程序进行调优相信都会有一个很好的认知. 什么是JVM? JVM(Java Virtual Machin ...
- java语言用什么编程_使用什么编程语言开发Java?
The Java Language is a language specification – you don't write a language in a language, it's a spe ...
- java反射获取方法内部_公共技术点之 Java 反射 Reflection
本文为 Android 开源项目源码解析 公共技术点中的 Java 反射 部分 分析者:Mr.Simple,校对者:Trinea,校对状态:未完成 1. 了解 Java 中的反射 1.1 什么是 Ja ...
- 无忧考吧2017二级java_无忧考吧二级JAVA超级模拟软件下载_无忧考吧二级JAVA超级模拟软件官方下载-太平洋下载中心...
无忧考吧二级JAVA超级模拟软件是一款可以帮助用户朋友来学习计算机二级java语言考试的软件,使用这款二级java模拟考试软件可以帮助用户快速的掌握学习内容和操作逻辑,让你顺利的通过二级java考试. ...
- java webservice报文过长_工作1-5年的Java程序猿到底需要怎样的一个技术栈?
工作1-5年的Java程序猿到底需要怎样的一个技术栈? 前言: 具有1-5年开发经验的程序员 需要学习的内容其实还有很多很多. 今天跟大家交流一下希望分享出来的对大家能够有帮助,这是我这些年总结出的一 ...
- java 序列化概念和作用_结合代码详细解读Java序列化与反序列化概念理解
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列 ...
- java代码删除文件夹_删除文件夹的java类
/** * @author www.nwu.edu.cn MiniRice * @author darkrice@gmail.com * @version 1.2 * */ http://www ...
- java调用打印预览_急求一个用Java实现的打印及打印预览功能的Demo
展开全部 package com.szallcom.tools; import java.awt.BorderLayout; import java.awt.Color; import java.aw ...
最新文章
- SQL Cursor(游标)
- bind、call、apply
- 在featureDataset和workspace下創建featureclass
- pytorch运行遇到的问题_如何解决吸塑机在运行中遇到真空度的问题
- 解读ImageView的wrap_content和adjustViewBounds的工作原理
- 常用的python命令行解析库
- Xtrabackup--InnoDB备份工具介绍(1)
- mysql安装包及驱动下载
- 如何用计算机算回归方程,简单线性回归方程与在线计算器_三贝计算网_23bei.com...
- 线性代数之 矩阵的迹
- cvc 降噪_CVC降噪和DSP降噪有什么区别?
- python词云分析文本_用python实现词频分析+词云
- CTF实验找不到ssh2john
- 互联网券商证券公司网上开户系统设计
- 深入了解 Flex 属性
- ERROR 1197 (HY000)问题原因及解决方法
- 图像处理时为什么灰度化 【文末赠书】
- CSAPP Architecture Lab PartC满分
- 腾讯云一键搭建WordPress博客网站
- 【Windows脚本】打印机脚本1-添加打印机(无需物理打印机)
热门文章
- python3做答题器_现在很火的答题赢钱游戏,让我来简单教你怎么做自动答题器...
- Java数据库课程设计-招聘人才管理系统
- 中标2020中国联通数据设备集采项目,中兴通讯备受鼓舞
- OneDrive网盘资源下载教程
- 华为私密相册计算机找回密码,华为手机隐私空间密码忘了怎么办 华为手机隐私空间密码忘了解决方法...
- linux伪造ip数据包,伪造ICMP数据包的IP层
- wireshark分析ICMP数据包
- 世界首例AI同性婚姻惊呆众人 | Siri和Alexa结婚了
- 解决extremeComponents中文按拼音排序问题
- 安卓源码下载的环境搭建