[英]Listing Parameters of an Object in an ArrayList
我正在嘗試創建一種方法來列出ArrayList中的元素,但是該方法僅返回最新對象的值:
物體:
//Constructor for guests at the hotel
public Guest (String name, String checkinDate, String checkoutDate, double depAmt)
{
gstName = name;
checkIn = checkinDate;
checkOut = checkoutDate;
deposit = depAmt;
}
ArrayList中的當前對象:
//Fills the roster with three guests to start the program
public static void fillGuest()
{
Guest guest1 = new Guest("Mike P.", "2/13/16", "2/23/16", 360.00);
guestList.add(guest1);
Guest guest2 = new Guest("Randall M.", "4/10/16", "4/17/16", 120.00);
guestList.add(guest2);
Guest guest3 = new Guest("Bo-Diddly.", "4/20/16", "4/23/16", 600.00);
guestList.add(guest3);
}
列出ArrayList中對象的方法:
public static void returnGuests()
{
System.out.println("Currently checked in " + guestList.size() + " guests:");
for (int i = 0; i <= guestList.size() - 1; i++)
{
System.out.println(guestList.get(i));
}
}
輸出:
Currently checked in 3 guests:
Bo-Diddly. 4/20/16 4/23/16 600.0
Bo-Diddly. 4/20/16 4/23/16 600.0
Bo-Diddly. 4/20/16 4/23/16 600.0
Enter command:
如何顯示每個Guest對象的各個對象參數?
您的Guest
對象應如下所示。 請注意在字段上缺少static
修飾符。 另外,請注意this
關鍵字的使用。 如果將其與static
變量一起使用,則您的IDE應警告您將其解釋為MyClass.var
而不是this.var
。
您的問題是,在創建新的Guest
對象時,所有Guest
對象都將具有最后一組變量。 您需要使用“實例”變量而不是“類”變量。
如果您想閱讀有關靜態“類”變量的更多信息,請參見了解類成員 。
public class Guest {
String gstName, checkIn, checkOut;
double deposit;
public Guest (String name, String checkinDate, String checkoutDate, double depAmt)
{
this.gstName = name;
this.checkIn = checkinDate;
this.checkOut = checkoutDate;
this.deposit = depAmt;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.