package com.exception;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Borrow {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args){
// TODO Auto-generated method stub
int d=0;
do{
try{
d=cin();
}catch(ChooseException e){//抛出选择异常
System.out.println(e.getMessage());
}catch(InputMismatchException e){//输入数据类型错误
System.out.println(e.getMessage());
}catch(Exception e){
System.out.println(e.getMessage());
}
}while(d!=1);
System.out.println("图书借取成功!");
}
public static int cin() throws Exception {
Book[] book =new Book[]{
new Book("高数",1),
new Book("英语",2),
new Book("物理",3)
};
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
Scanner in =new Scanner(System.in);
int h=in.nextInt();
//1为名称入口 2为ID入口 其他抛出选择错误
if(h==1){
System.out.println("输入图书名称:");
String name = in.next();
for(Book b:book){//选中返回1 没选中抛出图书不存在异常
if(b.getName().equals(name)){
System.out.println("book:"+b.getName());
return 1;
}
}
throw new ChooseException("图书不存在");
}else if(h==2){
System.out.println("输入图书序号:");
int id = in.nextInt();
for(Book b:book){//选中返回1 没选中抛出图书不存在异常
if(b.getId()==id){
System.out.println("book:"+b.getName());
return 1;
}
}
throw new ChooseException("图书不存在");
}else{
throw new ChooseException("命令输入错误!请根据提示输入数字命令");
}
}
}
/**
* 书本类
*/
class Book{
private String name;
private int id;
public Book(){
}
public Book(String bookName,int id){
this.name = bookName;
this.id = id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setId(int id){
this.id =id;
}
public int getId(){
return id;
}
}
/**选择异常*/
class ChooseException extends Exception{
public ChooseException(){
}
public ChooseException(String message){
super(message);
}
}
图书借取异常的实现
最新推荐文章于 2024-07-20 00:09:35 发布