包含两个类,书架类Bookshelf和借书类BorrowBook
Bookshelf用于初始化书架和检查图书是否存在
BorrowBook类为主类,用来进行借书操作
Bookshelf中的图书是用hashMap存储,ID和书名分别可以看作是key和values
详细代码如下:
Bookshelf类:
/**
*
*/
package mooc.Exception_test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.omg.PortableServer.IdAssignmentPolicy;
/**
* <p>Title:</p>
* <p>Description:</p>
* @author Li Qingpei
* @data 2019年3月29日
*/
public class Bookshelf {
public HashMap<Integer,String> book = new HashMap<>();
public Bookshelf()
{
book.put(1, "C语言");
book.put(2, "java 语言");
book.put(3, "python语言");
book.put(4, "操作系统");
book.put(5, "计算机网络");
}
public void printMenu(Bookshelf bookshelf)
{
Integer ID = null;
String bookname = null;
Integer integer = null;
Iterator iterator = book.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry)iterator.next();
ID = (Integer) entry.getKey();
bookname = (String) entry.getValue();
System.out.println("bookID: "+ID.toString()+" bookname: "+bookname);
// type type = (type) iterator.nextElement();
}
}
public void worringID(Integer num)
{
try{
if(book.containsKey(num))
{
System.out.println("booID: "+num+" bookname: "+book.get(num));
}
else{
System.out.println("图书不存在");
}
}catch(Exception e){
System.out.println("输入命令有误!");
}
}
public void worringbookname(String bookname)
{
try{
if(book.containsValue(bookname))
{
System.out.println(" bookname: "+bookname);
}
else{
System.out.println("图书不存在");
}
}catch(Exception e){
System.out.println("输入命令有误!");
}
}
}
BorrowBook类代码如下:
/**
*
*/
package mooc.Exception_test;
import java.util.HashMap;
import java.util.Scanner;
import javax.print.attribute.HashAttributeSet;
import org.omg.CORBA.PUBLIC_MEMBER;
/**
* <p>Title:</p>
* <p>Description:</p>
* @author Li Qingpei
* @data 2019年3月29日
*
*
* 要求:
* 1.定义字符串数组保存图书信息
*
* 2.提示用户输入,分别按“书名”和“图书序号”查找图书
*
* 3.根据输入信息进行适当的异常处理
* a.如果输入类型错误,抛出“错误命令异常”,并提示重新输入
* b.如果书名不存在,抛出“图书不存在异常”,并提示重新输入
* c.如果图书序号超过字符串数组范围,抛出“图书不存在异常”,并提示重新输入
*
*/
public class BorrowBook {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Bookshelf bookshelf = new Bookshelf();
bookshelf.printMenu(bookshelf);
System.out.println("输入命令:1-按照书名查找图书;2-按照序号查找图书");
Scanner input = new Scanner(System.in);
try{
int order = input.nextInt();
if(order==1)
{
System.out.println("请输入图书名称:");
String booknameString = input.next();
bookshelf.worringbookname(booknameString);
}
if(order==2)
{
System.out.println("请输入图书ID:");
Integer bookID= input.nextInt();
bookshelf.worringID(bookID);
}
}catch(Exception e){
System.out.println("输入有误!!");
}
}
}
运行结果: