定义一个ArrayList集合,在类加载时添加10本书,书籍具有书名、作者、价格三个属性,在main函数中通过键盘录入一个书名时,查询出该书籍的详细信息。疑问:(在类加载时添加10本书,我用静态代码块实现,但是将集合定义在静态代码块中,别的函数如何能访问到?)
我的代码:
import java.util.ArrayList;
import java.util.Scanner;import test.domain.Books;public class ArrayListTest
{
// static{
// ArrayList<Books> list = new ArrayList<Books>();
// list.add(new Books("Java", 34.89, "ailsi"));
// list.add(new Books("Java核心", 45.89, "toke"));
// list.add(new Books("Java框架技术", 69.89, "miso"));
// list.add(new Books("Linux技术", 42.19, "zhsk"));
// }
public static void main(String[] args)
{
ArrayList<Books> list = new ArrayList<Books>();
list.add(new Books("Java", 34.89, "ailsi"));
list.add(new Books("Java核心", 45.89, "toke"));
list.add(new Books("Java框架技术", 69.89, "miso"));
list.add(new Books("Linux技术", 42.19, "zhsk")); System.out.println("请输入书的名称:");

while (true)
{
Scanner c = new Scanner(System.in);
String booksName = c.next();
for (Books books : list)
{ if (booksName.equals(books.getName()))
{ System.out.println(books.toString());
}
}

}
}}Books.javapackage test.domain;public class Books
{
private String name;
private double price;
public String getName()
{
return name;
} public void setName(String name)
{
this.name = name;
} public double getPrice()
{
return price;
} public void setPrice(double price)
{
this.price = price;
} public String getAuthor()
{
return author;
} public void setAuthor(String author)
{
this.author = author;
} private String author;

public Books()
{
super();
} public Books(String name, double price, String author)
{
super();
this.name = name;
this.price = price;
this.author = author;
} @Override
public String toString()
{
return "Books [name=" + name + ", price=" + price + ", author="
+ author + "]";
}

}