gpt4 book ai didi

Java:使用某个实例变量计算数组中的所有元素

转载 作者:行者123 更新时间:2023-11-30 07:27:41 25 4
gpt4 key购买 nike

使用我当前的代码,借出的书籍数量不会更新,例如,如果数组中有 20 本书。如果借出 3 本书,显然计数会变为 3,但如果归还这些书,计数似乎会保持在 3。因此,如果借出另一本书,则 loanedBookCount() 返回 1,而不是将返回 4。本质上我似乎拥有一种计算借出图书交易的方法。

这不是我想要的,我想要一种方法来统计当时当前借出的图书数量。

public int loanedBookCount(){
count = 0;
for(Book bkObj: bookStore){
if(bkObj.getCurrentStatus()== CurrentStatus.LOANED){
count++;
}
}
return count;
}

我已阅读此内容 linkthis one但似乎无法找到如何正确计算每一次出现的次数。

看起来几乎就像找到它到达的第一个,然后增加计数,但我可能是错的,问题是其他的。 无论哪种方式,任何人都可以帮我尝试搜索当前借出的每一本书吗?

我有一个归还书籍的方法,但不认为这应该包括更新借阅书籍数量的方法(对于州立者来说这是一个不同的类别),我觉得这应该是一件足够简单的事情每次都从数组列表中搜索来完成。

需要指出的是,在 main 方法中使用了 for 循环来模拟借阅和归还图书等事务。

编辑:按要求还书方法:

//The aim of this method is to update the status, not create or remove objects
//if there are reservations the book is immediately loaned out,
//or set to available again if no reservations
public class Book{
...
public void returnBook(){
if(numberOfReservations ==0){
status.equals(CurrentStatus.AVAILABLE);
}
else{
status.equals(CurrentStatus.LOANED);
numberOfReservations--;

最佳答案

函数 returnBook() 中的 status 是什么类型的对象?

在java函数中equals在对象上比较两个对象。

public boolean equals(Object obj)

在您的代码中调用

status.equals(CurrentStatus.AVAILABLE); 

不为您做任何事情,因为您在比较对象后没有使用返回的 boolean 值。您需要在此函数中status.set(CurrentStatus.AVAIBLE)status = CurrentStatus.AVAIBLE(取决于您的status)。

关于Java:使用某个实例变量计算数组中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com