超重的北极熊
2017-04-16 20:16:51浏览 2084
import java.util.Scanner;
/**
* 这是一个图书查询的程序 写程序之前逻辑一定清晰,然后再去写,再进行优化测试,然后不断改进
*/
public class Main {
private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
String[] books = { "高数", "线代", "汇编语言", "数据结构" };
while (true) {
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
String firstInput = input.next();
try {
switch (firstInput) {
case "1":
System.out.println("book:" + getBookName(books));
continue;
case "2":
System.out.println("book:" + getBookNameByNumber(books));
continue;
default:
System.out.println("输入有误,请重写输入!!");
continue;
}
} catch (Exception bne) {
System.out.println(bne.getMessage());
continue;
}
}
}
private static String getBookName(String[] books) throws Exception {
System.out.println("请输入图书名称:");
String book = input.next();
for (int i = 0; i < books.length; i++) {
if (book.equals(books[i])) {
return book;
}
}
throw new Exception("不存在这本书!");
}
private static String getBookNameByNumber(String[] books) throws Exception {
// int bookSum = books.length;
while (true) {
System.out.println("请输入图书序号:");
try {
int index = input.nextInt();
if (index < 0) {
System.out.println("请输入自然数序号!");
continue;
}
return books[index];
} catch (java.util.InputMismatchException i) {
System.out.println("请输入自然数序号!");
input = new Scanner(System.in);
continue;
} catch (ArrayIndexOutOfBoundsException e) {
Exception bookNotExist = new Exception("不存在这本书!");
bookNotExist.initCause(e);
throw bookNotExist;
}
}
}
}