java 借出书籍后没有原有的信息无法归还(不用集合方法)
case "3":{
System.out.println("请输入你要借阅书籍的名称");
Scanner scanner1=new Scanner(System.in);
String name=scanner.nextLine();
int n=0;
for (int i=0;i<booklist.Size;i++){
if (booklist.book[i].getName().equals(name)){
n=i;
booklist.book[i].setBorrowd(true);
System.out.println("借阅成功");
for (i=n;i<booklist.Size-1;i++){
booklist.book[i]=booklist.book[i+1];
}
booklist.Size--;
normaluser.menu_1();
menu_1(userlist, booklist, normaluser);
break;
}
}
System.out.println("未找到相关书籍");
normaluser.menu_1();
menu_1(userlist, booklist, normaluser);
break;
}//借阅书籍
case "4":{
System.out.println("请输入你要归还书籍的名称");
Scanner scanner2=new Scanner(System.in);
String name=scanner.nextLine();
for (int i=0;i<booklist.Size;i++){
if (booklist.book[i].getName().equals(name)){
booklist.book[i].setBorrowd(false);
System.out.println("归还成功");
normaluser.menu_1();
menu_1(userlist, booklist, normaluser);
break;
}
}
normaluser.menu_1();
menu_1(userlist, booklist, normaluser);
break;
}//归还书籍
因为你在借出的时候把它移除图书列表了,我觉得你这里都已经有借出标识了,为啥不在展示的时候通过这个标识隐藏掉这个图书,或者展示状态为借出,再次借出的时候先校验是否已经借出,这样在归还的时候就不会有问题了。
当然也有另外一个思路,你可以将借出的书籍放到一个借出的图书数组里面,然后再移除书籍,归还的时候直接去归还的数组里查找是否有这个书籍