慕慕309619
2015-01-07 16:32
import java.util.*; public class Library { /* * totalBooks 存储图书的数组 * scan 初始化输入类对象 */ String[] totalBooks = {"高等数学","计算机英语","JAVA编程","PHP面向对象","C++经典实例","高性能MySQL","JavaScript前端开发语言","jQuery高级教程"}; Scanner scan = new Scanner(System.in); /* * bookname 输入图书 名称 * 把数组转换成字符串 用indexOf()方法 查找返回 索引 如果不存在返回 int -1; * 如果查找不到图书 则抛出图书不存在异常 接着调用welcome方法 重新输入 */ public void bookName(){ String bookname = scan.next(); String books = Arrays.toString(totalBooks); try { if(books.indexOf(bookname) != -1){ System.out.println("book:"+ bookname); }else{ throw new Exception("图书不存在"); } } catch (Exception e) { System.out.println("图书不存在!!!"); this.welcome(); } } /* * bookNum 输入图书序号 * 判断序号如果小于1 或者 大于总图书的数组长度 则抛出异常; * 如果查找不到图书 则抛出图书不存在异常 接着调用welcome方法 重新输入 */ public void bookNum(){ int booknum = scan.nextInt(); try { if(booknum < 1 || booknum > totalBooks.length){ throw new Exception(); }else{ System.out.println("book:"+totalBooks[booknum-1]); } } catch (Exception e) { System.out.println("图书不存在!!!"); this.welcome(); } } /* * input 输入 * 输入1 则按图书名称找书 * 输入2 则按图书序号找书 * 否则抛出异常 调用自身方法 重新输入 */ public void welcome(){ System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书"); String input = scan.next(); try { if (input.equals("1")){ System.out.println("请输入图书名称:"); this.bookName(); } else if (input.equals("2")) { System.out.println("请输入图书序号:"); this.bookNum(); }else{ throw new Exception(); } } catch (Exception e) { // e.printStackTrace(); System.out.println("命令输入错误!请根据提示输入数字命令!"); //捕获异常输出提示 this.welcome(); //调用方法重新输入 } finally { scan.close(); } } public static void main(String[] args) { Library lib = new Library(); lib.welcome(); } }
标记一个。
牛X,你这作业是交给谁的啊~。
Java入门第三季
409792 学习 · 4340 问题
相似问题