前言:我對java很害怕,只是在學習。搜索了一噸,找不到答案。我們不能使用數組列表。使用另一個數組的選擇元素創建一個新數組
我有一本書類,它包含在一個特定的書頁一樣,作者信息等
我有一個書架類圖書中的對象的數組讀取。我需要編寫一個接受作者名稱的方法,查找作者所在的Book數組中的所有書籍,然後返回這些書籍的數組。
我的計劃是找到該作者的書籍總數並將其存儲在一個變量中。然後創建一個這樣大小的新數組。我只是不知道如何從Book數組中選取元素並將它們放入新數組中。
我至今不知道這是否是正確的......
public Book[] getBooksByAuthor(String author) {
int count = 0;
String a = author;
for(int i = 0; i < books.length; i++){
if(books[i].getAuthor().equals(a)){
count += 1;
}
}
到目前爲止看起來不錯,現在您需要創建一個新數組並重新迭代以將元素添加到新數組 – UnholySheep
到目前爲止這是正確的。你知道如何使用'count'變量創建數組嗎? –
Book [] newBooks = new Book [count];將會產生一個新的大小數組。 但如果我再次循環並將值分配給新數組,我可能會創建一些空的索引,因爲沒有匹配,如果這是有道理的。 – Lambtron