Bir kütüphane kitap simülasyonu yapıyorum, takılı olduğum bölüm, kredi kartı kitaplarını bulmaya çalışıyor ve bunun için toString yöntemi çağrıldığında basılacak.Java: Arraylist'teki olaylar nasıl sayılır, sonra bu çıktıyı toString'e yazdırılır?
public class Biblio{
private ArrayList<Book> collection;
private int loanCount;
Kitabın durumunun ben şaşırıp tip enum
public enum Status {LOAN, REFERENCE, AVAILABLE};
kodu taşımaktadır:
public int numberOfBooksOnLoan(){
int loanCount= 0;
for(Book onLoan: collection){
if(onLoan.getBookStatus()== Status.LOAN){
loanCount++;
}
}
return loanCount;
}
@Override
public String toString(){
StringBuilder string= new StringBuilder();
string.append("total number of books: ").append(bookCollection.size()).append("\n");
string.append("number of loaned books: ").append(loanCount).append("\n");
return string.toString();
}
hem numberOfBooksOnLoan
ve toString
yöntemleri Biblio
sınıfta
toString
'u kullanırken kullandığım hod, 0 rakamı, kitaplar, kredi olduğunda bile, gerekli değeri basacak olan getLoanCount
yönteminin (ayrıca bu sınıfta) aksine yazdırılır.
Sorum şu: Bir arraylistten nasıl geçebilirim ve borçlu olan tüm kitapları sayıyorum, o zaman bu değer bir değişkende saklanır, böylece toString'de kullanabilirim? Veya daha genel olarak, bir arraylist'ten nasıl geçiyorsunuz ve ortak bir değişkenle tüm nesneleri nasıl sayıyorsunuz?
durumda bu sorunun bir parçası, bir uyarım var bir örnek değişken da loanCount çağrıda mı
int loanCount = 0;
Yerel değişkeni kaldırın ve kontrol edin? –