作业:模拟借书系统

来源:1-9 经验总结

Darren_Huang

2015-01-06 16:20

//Books.java, 处理图书查询流程的类

package com.imooc.bookmanagement;

import java.util.*;

public class Books {
	private String[] book = {new String("高数"), new String("数据结构")};	
	private Scanner c = null;
	private boolean flagNotFound = true;
	
	private int searchMethod() throws WrongCommandException{
		int k = 0;

			System.out.println("请输入命令:1-按照名称查找图书;2-按照序号查找图书");
			try{
				c = new Scanner(System.in);
				k = c.nextInt();
				if (k == 1 || k == 2){
				}
				else{
					System.out.println("命令输入错误!请根据提示输入数字命令!");
					throw new WrongCommandException("命令输入错误!");
				}
			}catch (InputMismatchException e){
				throw new WrongCommandException("命令输入错误!");
			}

		return k;
	}
	
	private int searchBookByName() throws BookDoesNotExistException{
		int i = 0;
		
		System.out.println("请输入图书名称:");
		c = new Scanner(System.in);
		String s = c.next();
	
		for(i = 0; i < book.length; i++){
			if(s.equals(book[i])){
				return i;
			}
		}
		throw new BookDoesNotExistException("图书不存在!");
		
	}
	
	private  int searchBookByNumber() throws BookDoesNotExistException{
		int i = 0;
		
		System.out.println("请输入图书序号:");
		
		try{
			c = new Scanner(System.in);
			int s = c.nextInt();
			
			for(i = 0; i < book.length; i++){
				if(s == i+1){
					return i;
				}
			}
			throw new BookDoesNotExistException("图书不存在!");
		}catch (Exception e){
			throw new BookDoesNotExistException("图书不存在!");
		}
	}
	
	public void processing(){
		int bookNumber;
		int k = 0;
		while(flagNotFound){
			try{
				k = searchMethod();
				if(k == 1){
					try{
						bookNumber = searchBookByName();
						flagNotFound = false;
						System.out.println("book:"+book[bookNumber]);
					}catch (BookDoesNotExistException e){
						System.out.println("图书不存在!");
						flagNotFound = true;
					}
							
				}
				else if (k == 2){
					try{
						bookNumber = searchBookByNumber();
						flagNotFound = false;
						System.out.println("book:"+book[bookNumber]);
					}catch (BookDoesNotExistException e){
						System.out.println("图书不存在!");
						flagNotFound = true;
					}
				}
			}catch(WrongCommandException e){
				System.out.println("命令输入错误!请根据提示输入数字命令!");
				flagNotFound = true;
			}
		}
		if(c!=null)
			c.close();
	}
}
//BookDoesNotExistException.java, 图书不存在异常类

package com.imooc.bookmanagement;

public class BookDoesNotExistException extends Exception {
	public BookDoesNotExistException(){
		
	}
	
	public BookDoesNotExistException(String message){
		super(message);
	}

}
//WrongCommandException.java, 错误命令异常类

package com.imooc.bookmanagement;

public class WrongCommandException extends Exception {
	
	WrongCommandException(){
		
	}
	
	WrongCommandException(String message){
		super(message);
	}

}
//BookManagement.java, 主类

package com.imooc.bookmanagement;

public class BookManagement {

	public static void main(String[] args) {
		Books book1 = new Books();
		book1.processing();

	}

}


写回答 关注

4回答

  • qq_木_31
    2018-07-30 11:20:40

    编程思路咋就这么乱呢

  • qq_保的相册_0
    2017-07-02 10:13:40

    还行吧

  • 慕粉1902541540
    2017-05-08 21:48:18

    脑子好乱!!

  • ikewyz
    2015-10-15 20:03:36

    感谢。。。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题