package librarySearch;public class b1 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 1; } @Override public String title() { // TODO 自动生成的方法存根 return "红楼梦"; } }
强行抛出
if
(bk[j].title().equals(str)) 里的title(),为什么要加这个
lz能给看一下Books的代码吗?
package librarySearch; import java.util.InputMismatchException; import java.util.Scanner; public class Search { static Books hlm = new b1(); static Books sgyy = new b2(); static Books shz = new b3(); static Books xyj = new b4(); final static Books [] bk= {hlm,sgyy,shz,xyj}; final static String [] bk2 = {"听说英语","精读英语","西方文化通论","大学语文","微积分","计算机程序设计基础","数据结构","线性代数","大学物理","电路分析","数字电路","概率统计"}; public class NoBookException extends Exception{ private static final long serialVersionUID = 1L; public NoBookException(){ } public NoBookException(String err){ super(err); } } public static void main (String [] args) throws InputMismatchException,NoBookException{ Search sch= new Search(); Scanner sc = new Scanner(System.in); outer: while (true){ try{ System.out.println("请输入你要查找的书库号: 1-四大名著 2-教科书 3-退出"); int i = sc.nextInt(); if (i==1){ System.out.println("请输入你要使用的查找方法: 1-按照名称查找图书 2-按照序号查找图书"); i = sc.nextInt(); if (i==1){ System.out.println("请输入图书名称"); String str = sc.next(); for ( int j = 0 ; j < 4 ; j++ ){ if (bk[j].title().equals(str)){ System.out.println("book:"+bk[j].title()); continue outer; } } throw sch.new NoBookException(); } else if (i==2){ System.out.println("请输入图书编号"); int num = sc.nextInt(); for ( int j = 0 ; j < 4 ; j++ ){ if (bk[j].num() == num){ System.out.println("book:"+bk[j].title()); continue outer; } } throw sch.new NoBookException(); } else{ throw new InputMismatchException(); } } else{ if (i==2){ System.out.println("请输入你要使用的查找方法: 1-按照名称查找图书 2-按照序号查找图书"); i = sc.nextInt(); if (i==1){ System.out.println("请输入图书名称"); String str = sc.next(); for ( int j = 0 ; j < 12 ; j++ ){ if (bk2[j].equals(str)){ System.out.println("book:"+bk2[j]); continue outer; } } throw sch.new NoBookException(); } else if (i==2){ System.out.println("请输入图书编号"); int num = sc.nextInt(); for ( int j = 0 ; j < 12 ; j++ ){ if (j == num-1){ System.out.println("book:"+bk2[j]); continue outer; } } throw sch.new NoBookException(); } else{ throw new InputMismatchException(); } } else{ if (i==3) break; else throw new InputMismatchException(); } } } catch(NoBookException e){ System.out.println("抱歉,书库中并没有这本书……"); sc.nextLine(); } catch(InputMismatchException e){ System.out.println("请输入正确的数据!"); sc.nextLine(); } catch(Exception e){ System.out.println("未知错误!"); sc.nextLine(); } } System.out.println("感谢使用本查阅系统,欢迎下次再来!"); sc.close(); } }
《Search.java》
package librarySearch; public class b4 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 4; } @Override public String title() { // TODO 自动生成的方法存根 return "西游记"; } }
《b4.java》
package librarySearch; public class b3 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 3; } @Override public String title() { // TODO 自动生成的方法存根 return "水浒传"; } }
《b3.java》
package librarySearch; public class b2 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 2; } @Override public String title() { // TODO 自动生成的方法存根 return "三国演义"; } }
《b2.java》
package librarySearch; public class b1 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 1; } @Override public String title() { // TODO 自动生成的方法存根 return "红楼梦"; } }
《b1.java》
package librarySearch; public class b1 extends Books { @Override public int num() { // TODO 自动生成的方法存根 return 1; } @Override public String title() { // TODO 自动生成的方法存根 return "红楼梦"; } }
刚刚那个格式有问题
《books.java》