---书类
package com.mengjiao;
public class Book {
String bookName;
int code;
public Book(String bookName,int code){
this.bookName = bookName;
this.code = code;
}
public String getBookName() {
return bookName;
}
}
---程序入口类
package com.mengjiao;
import java.util.*;
public class MainClass {
public static void main(String[] args) throws Exception{
Book bk1 = new Book("数学",1);
Book bk2 = new Book("语文",2);
Book bk3 = new Book("英语",3);
Book bk4 = new Book("物理",4);
Book bk5 = new Book("化学",5);
Book[] serial = {bk1,bk2,bk3,bk4,bk5};
int m;
Scanner input = new Scanner(System.in);
while(true){
try{
System.out.println("输入命令: 1-按照名称查找图书;2-按照序号查找图书");
m = input.nextInt();//可能抛出异常
if(m!=1 && m!=2){
throw new Exception();//抛出异常
}
if(m==1){
System.out.println("输入图书名称:");
String s = input.next();
int i = 0;
for(i=0;i<5;++i){
if(serial[i].getBookName().equals(s))
break;
}
if(i==5){
System.out.println("图书不存在");
}
else
System.out.println("book:"+s);
}
else{
System.out.println("输入图书序号:");
int code = input.nextInt();
if(code > 5 || code < 1){
System.out.println("图书不存在!");
}
System.out.println("book:"+serial[code-1].getBookName());
}
}catch(Exception e){
System.out.println("命令错误!请根据提示输入数字命令");
input.nextLine();
}
System.out.println("是否继续查找(y/n)");
String s = input.next();
while(!s.equals("y") && !s.equals("n")){
System.out.println("请输入y或者n");
s = input.next();
}
if(s.equals("n")){
break;
}
}
}
}
允许结果如下图
欢迎大家分享
热门评论
你好 我想问一下if(serial[i].getBookName().equals(s))为什么不能用serial[i].BookName().equals(s)?求解
物理 查不到啊 其他都能查到··········
你上面书类写的 public String getBookName() { return bookName; }我通不过
写成
public String getBookName() {
return null;
}
倒是能够编译通过 不知道为啥