描述類:
package ketang;
public class Book {
//定義圖書類(Book),要求有屬性name(書名),price(價格),author(作者),
private String name;
private int price;
private String author;
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", price=" + price +
", author='" + author + '\'' +
'}';
}
public Book() {
}
public Book(String name, int price, String author) {
this.name = name;
this.price = price;
this.author = author;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
測試類:
package ketang;
import java.util.ArrayList;
import java.util.Scanner;
public class Test_A {
public static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//一個ArrayList集合,正确的定義泛型
ArrayList<Book> list = new ArrayList<>();
//在主方法中循環建立3本圖書對象
for (int i = 0; i <3 ; i++) {
System.out.println("請錄入第"+(i+1)+"本書的名字");
String name = sc.next();
System.out.println("請錄入第"+(i+1)+"本書的價格");
int price = sc.nextInt();
System.out.println("請錄入第"+(i+1)+"本書的作者");
String author = sc.next();
//将上面錄入資料封裝成Book對象
Book book = new Book(name,price,author);
list.add(book);
}
System.out.println("添加前");
findAll(list);
//調用添加方法
add(list);
System.out.println("添加後:");
//調用findAll
findAll(list);
}
//再定義一個查詢所有的方法(findAll),在方法中周遊集合,将集合中的圖書資訊展示到控制台。
public static void findAll(ArrayList<Book> list){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
//再定義一個添加圖書的方法(add),方法中實作添加一本圖書到集合中
//傳回值類型 void 參數清單:ArrayList<Book> list
public static void add(ArrayList<Book> list){
System.out.println("請錄入添加的圖書名字");
String name = sc.next();
System.out.println("請錄入添加的圖書價格");
int price = sc.nextInt();
System.out.println("請錄入添加的圖書作者");
String author=sc.next();
Book b = new Book(name,price,author);
list.add(b);
}
}