为了账号安全,请及时绑定邮箱和手机立即绑定

已经把图书存放在数组,但是当按序号查找的时候,已经存在的但是她还是会给我处理成异常,说没有该图书,可以帮忙解决一下吗

package lesson15;


import java.util.InputMismatchException;

import java.util.Scanner;


import lesson10.Card;


/**

 * 创建一个图书管理员类

 * @author kangshan

 *

 */

public class Boss {

Scanner input=new Scanner(System.in);

//创建一个图书数组

Book book[]=new Book[100];

public void menu(){

System.out.println("请输入命令:1.按照名称查找图书\t2.按照序号查找图书\t3.添加图书\t4.查询");

String op=input.next();

switch (op) {

case "1":

quarryName();

break;

case "2":

quarryId();

break;

case "3":

addBook();

break;

case "4":

quarry();

break;

default:

System.out.println("没有这个选项!");

break;

}

menu();

}

/**

*添加图书 

*/

int i=0;

public void addBook(){

//处理数组越界的异常

try {

System.out.print("请输入添加的图书名称:");

String a=input.next();

System.out.print("请输入图书序号:");

int  c=input.nextInt();


//创建一个新的book对象

Book b=new Book(a, c);

//把book对象存放到数组中

book[i]=b;

System.out.println("添加成功!");

menu();

if (i>book.length) {

}

if (input.hasNextInt()) {

}

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("内存已满,无法继续添加!");

}catch (InputMismatchException e) {

System.out.println("输入必须为整数!");

}

i++;

}

/**

* 查询方法

*/

int j=0;

public void quarry(){

try {

if (book[i]==null) {

}

System.out.println("书名\t序号");

for (int j = 0; j < book.length; j++) {

System.out.println(book[i].name+"\t"+book[i].id);

return;

}

} catch (NullPointerException e) {

System.out.println("没有图书!");

}

}

/**

* 按照名称查找图书

*/

public void quarryName(){

try {

System.out.print("请输入图书名称:");

String name=input.next();

for (int i = 0; i < book.length; i++) {

if (name==book[i].name) {

System.out.println("book"+book[i].name);

return;

}

}

} catch (Exception e) {

System.out.println("图书不存在!");

}

}

/**

* 按照序号查找

*/

public void quarryId(){

try {

if (input.hasNextInt()) {

}

System.out.print("请输入图书序号:");

int id=input.nextInt();

for (int i = 0; i < book.length; i++) {

id=book[i].id;

return;

}

}catch (InputMismatchException e) {

System.out.println("必须输入整数!");

} catch (NullPointerException e) {

System.out.println("图书不存在!");

}

}

}


正在回答

2 回答

Book book[]=new Book[100]; 数组类型是Book?


0 回复 有任何疑惑可以回复我~

简单的看了一下,这应该是添加书时一直只有一本,后面的覆盖了前面的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

已经把图书存放在数组,但是当按序号查找的时候,已经存在的但是她还是会给我处理成异常,说没有该图书,可以帮忙解决一下吗

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号