Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建一个方法来打印ArrayList,然后在另一个类中调用它_Java_Arraylist - Fatal编程技术网

Java 创建一个方法来打印ArrayList,然后在另一个类中调用它

Java 创建一个方法来打印ArrayList,然后在另一个类中调用它,java,arraylist,Java,Arraylist,我在我的类“BookList”中构建了一个Arraylist,但我需要它在另一个类中打印 我想我可能必须将Arraylist的打印转换成一个方法,这样就可以从另一个类调用它;如果我错了,我还能做些什么来实现这一点 下面是我的代码,供参考 import java.util.ArrayList; public class BookList { public static void main (String[] args){ Book a = new Book(); a.se

我在我的类“BookList”中构建了一个Arraylist,但我需要它在另一个类中打印

我想我可能必须将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);

    }   
  }
}
import java.util.ArrayList;
公共课书目{
公共静态void main(字符串[]args){
书a=新书();
a、 设置标题(“随机”);
a、 setAuthor(“Craig Robertson”);
a、 setBookID(“1847398812”);
a、 setonLoan(假);
a、 贷款数目(3);;
书b=新书();
b、 setTitle(“最后的避难所”);
b、 setAuthor(“Craig Robertson”);
b、 setBookID(“1471127753”);
b、 setonLoan(假);
b、 贷款数目(2);;
书c=新书();
c、 setTitle(“不唱歌的鸟”);
c、 作者(“亚历克斯·格雷”);
c、 setBookID(“0751548278”);
c、 setonLoan(真);
c、 贷款数目(7);;
ArrayList BookList=新建ArrayList();
书目。增加(a);
图书目录。添加(b);
增加(c)项;
int count=BookList.size();
System.out.println(“计数:+Count”);
System.out.println(“”);
(d册:书目){
系统输出打印ln(d);
}   
}
}
为此,我在“Book”类中有toString()方法,因此可以打印所有对象


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

如下覆盖BookList-tostring方法:

public class BookList{
    @Override
    public String toString(){
        // Return some string here
    }
}
那就正常使用吧

System.out.println(myBookList);

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

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