龙少Derrick
2017-04-18 21:07:41浏览 2945
package com.imooc;
import java.util.*;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
HelloWorld hello = new HelloWorld();
hello.UserInterface();
}
public void UserInterface(){
Scanner input = new Scanner(System.in);
ArrayList<String> words = new ArrayList<String>();
words.add("论语");
words.add("高数");
words.add("线性代数");
words.add("数据结构");
try{
System.out.println("输入命令: 1——按照名称查找图书; 2——按照序号查找图书");
switch(input.nextInt()){
case 1:
this.searchBookByName(words);
break;
case 2:
this.searchBookByNumber(words);
break;
default:
break;
}
}catch(InputMismatchException e){
System.out.println("命令输入错误!请按照提示输入数字命令!");
}
finally{
input.close();
}
}
public void searchBookByName(ArrayList<String> words){
Scanner input = new Scanner(System.in);
try{
System.out.println("输入图书名称:");
String inputName = input.next();
if(words.contains(inputName)){
System.out.println("book:" + inputName);
}else{
System.out.println("图书不存在");
}
}catch(InputMismatchException e){
System.out.println("命令输入错误!请输入图书名称!");
}
finally{
input.close();
}
}
public void searchBookByNumber(ArrayList<String> words){
Scanner input = new Scanner(System.in);
try{
System.out.println("输入图书序号:");
System.out.println("book:" + words.get(input.nextInt()));
}catch(InputMismatchException e){
System.out.println("命令输入错误!请根据提示输入数字命令");
}catch(IndexOutOfBoundsException e){
System.out.println("图书不存在");
}
finally{
input.close();
}
}
}
热门评论
有点美中不足,执行到书名查找的时候会出现问题
应该定义一个变量接收inputName
按书名查找,图书不存在时,只是输出了一行信息,并没有抛出异常