如果对象的内容位于另一个类的私有字段中,如何从数组列表中打印相册标题?
显示方法
public void displayAllAlbums() {
for (int i = 0; i < AlbumList.size(); i++) {
System.out.println(AlbumList.get(i));
}
}
具有私有变量标题和价格的专辑类。
class Album {
private String title;
private double price;
Album(String title, double price) {
this.title = title;
this.price = price;
}
public String getTitle() {
return this.title;
}
public double getPrice() {
return this.price;
}
}
Cart Class将歌曲添加到arraylist也可以获得总数
import java.util.*;
public class Cart {
List<Album> AlbumList = new ArrayList<Album>();
将专辑放入addAlbum方法的主要方法
public static void main(String[] args) {
Cart cart1 = new Cart();
Album album1 = new Album("ye", 20);
Album album2 = new Album("MBDTF", 16);
cart1.addAlbum(album1);
cart1.addAlbum(album2);
System.out.println(cart1.getTotalAlbums());
cart1.displayAllAlbums();
}
将专辑添加到arralist
public void addAlbum(Album album) {
AlbumList.add(album);
}
不确定如何显示相册
public void displayAllAlbums() {
for (int i = 0; i < AlbumList.size(); i++) {
System.out.println(AlbumList.get(i));
}
}
答案 0 :(得分:0)
这样做。
public void displayAllAlbums() {
for (int i = 0; i < AlbumList.size(); i++) {
Album album = AlbumList.get(i)
System.out.println(album.getTitle() + " "+ album.getPrice());
}
}
你的Arraylist的对象实际上是专辑对象。因此,当通过AlbumList.get(i)命令访问ArrayList对象时,您将获得一个Album对象实例。所以你把它传递给Album变量。然后通过您之前设置的getter方法访问私有字段!
干杯!
答案 1 :(得分:0)
您可以通过覆盖Album类中的toString()方法或提供显示属性的公共方法来实现此目的。
class Album {
private String title;
private double price;
Album(String title, double price) {
this.title = title;
this.price = price;
}
public String getTitle() {
return this.title;
}
public double getPrice() {
return this.price;
}
@Override
public String toString(){
return "title:"+title+",price:"+price;
}
}
将对象传递给 System.out.println(AlbumList.get(i))时,toString()方法将调用并打印相册标题和价格。
答案 2 :(得分:0)
如何从数组列表中打印相册标题
只需使用公共访问方法,即Album#getTitle()
public void displayAllAlbums() {
for (Album album : AlbumList) {
System.out.printf("Album title: %s%n",album.getTitle());
}
}