gpt4 book ai didi

java - 创建一个打印 ArrayList 的方法,然后在另一个类中调用它

转载 作者:行者123 更新时间:2023-11-30 03:08:22 25 4
gpt4 key购买 nike

我已经在我的类“BookList”中构建了一个数组列表,但我需要它在另一个类中打印。

我想我可能必须将 Arraylist 的打印变成一个方法,这样就可以从不同的类调用它;如果我错了,我还能做些什么来实现这一目标?

下面是我的代码,供引用。

import java.util.ArrayList;


public class BookList {

public static void main (String[] args){

Book a = new Book();

a.setTitle("Random ");
a.setAuthor("Craig Robertson");
a.setBookID("1847398812");
a.setonLoan(false);
a.setNumberofLoans(3);

Book b = new Book();

b.setTitle("The Last Refuge");
b.setAuthor("Craig Robertson");
b.setBookID("1471127753");
b.setonLoan(false);
b.setNumberofLoans(2);

Book c = new Book();

c.setTitle("The Bird That Did Not Sing");
c.setAuthor("Alex Gray");
c.setBookID("0751548278");
c.setonLoan(true);
c.setNumberofLoans(7);

ArrayList<Book> BookList = new ArrayList<Book>();
BookList.add(a);
BookList.add(b);
BookList.add(c);

int count = BookList.size();
System.out.println("Count: " + count);
System.out.println("");

for (Book d : BookList){
System.out.println(d);

}
}
}

为此,我的“Book”类中有 toString() 方法,这样我就可以打印所有对象。

另一个问题:如何仅打印每个对象的标题和作者?

最佳答案

Book 类中创建一个静态方法来处理显示:

public static void showBooks(ArrayList<Book> books) {
for (Book d : Books){
System.out.println(d); // calls the 'toString' method on each Book object
}

并从主方法中这样调用它:

ArrayList<Book> BookList = new ArrayList<Book>();
BookList.add(a);
BookList.add(b);
BookList.add(c);

Book.showBooks(BookList); // prints the books, one by one

How would I print just the title and author of each object?

您可以选择仅在 overriden toString 方法中打印 titleauthor >图书类:

@Override
public String toString() {
// 'author' & 'title' are members of the 'Book' class
return "Author: " + author + "- Title: " + title;
}

关于java - 创建一个打印 ArrayList 的方法,然后在另一个类中调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34192644/

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