问答详情
源自:1-9 经验总结

作业代码

package com.imooc.test;


import java.util.Scanner;


//模拟借书系统

/*

 * 要求:

 * 1.定义字符串数组保存图书信息

 * 2.提示用户输入,分别按照“书名”和"图书序号"查找图书

 * 3.根据输入信息进行适当的异常处理

 * 如果输入类型错误,抛出“错误命令异常”,并提示重新输入

 * 如果书名不存在,抛出“图书不存在异常”,并提示重新输入

 * 如果图书序号超过字符串数组范围,抛出“图书不存在异常”,并提示重新输入

 */

public class BorrowBook {

private static Scanner input=new Scanner(System.in);

public static void main(String[] args) {

String[] books={"数据结构","高数","毛概","C语言","软件工程"};

while(true){

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

String book;

try {

int cmn=inputCommand();

switch(cmn){

case 1:

book=getBookName(books);

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

break;

case 2:

book=getBookNum(books);

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

break;

case -1:

System.out.println("命令输入错误!请根据提示输入数字命令!");

continue;

default:

System.out.println("命令输入错误!");

continue;

}

break;

} catch (Exception e) {

// TODO: handle exception

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

continue;

}

}

}

//按照图书名称查询图书

public static String getBookName(String[] books)throws Exception {

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

String name=input.next();

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

if(name.equals(books[i])){

return books[i];

}

}

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

}

public static String getBookNum(String[] books)throws Exception{

while(true){

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

try {

int num=inputCommand();

if(num==-1){

System.out.println("命令输入错误!请根据提示输入数字命令!");

continue;

}

String book=books[num];

return book;

} catch (ArrayIndexOutOfBoundsException e) {

// TODO: handle exception

Exception exc=new Exception("图书不存在!");

exc.initCause(e);

throw exc;

}

}

}

//从控制台输入命令,用于输入命令和输入图书序号

public static int inputCommand(){

int command;

try {

command=input.nextInt();

return command;

} catch (Exception e) {

// TODO: handle exception

input=new Scanner(System.in);

return -1;

}

}

}



提问者:zzzzzzz小盆友 2014-11-16 22:04

个回答

  • love_yun
    2014-11-27 18:47:51

    下载。