使用ArrayList时出现越界异常



我不确定为什么我会遇到越界异常,有人能帮忙吗?这真的很烦人,因为我真的很想了解发生了什么。

公共类忠诚卡列表{private ArrayList忠诚度卡;

/**
* 
*/
public LoyaltyCardList()
{
loyaltyCards = new ArrayList <LoyaltyCard> ();
}
/**
* 
*/
public void addLoyaltyCard(LoyaltyCard newLoyaltyCard)
{
loyaltyCards.add(newLoyaltyCard);
}
public void getAllLoyaltyCards()
{
int index = 0;
while(index <= getNumberOfLoyaltyCards())
{
loyaltyCards.get(index).printCustomerDetails();
index++;
}
}
public void getLoyaltyCard(int LoyaltyCardEntry)
{
if(LoyaltyCardEntry < 0)
{
System.out.println("Negative Entry: " +LoyaltyCardEntry);
}
else if(LoyaltyCardEntry < getNumberOfLoyaltyCards())
{
loyaltyCards.get(LoyaltyCardEntry).printCustomerDetails();
}
else
{
System.out.println("No Such Entry:" + LoyaltyCardEntry);
}
}
public int getNumberOfLoyaltyCards()
{
return loyaltyCards.size();
}

您打印的是LoyaltyCards类,而不是loyaltyCard实例

for ( LoyaltyCard loyaltyCard : LoyaltyCards)
{
System.out.println(loyaltyCard);
}

您还应该确保在您的LoyaltyCard类中有一个适当的toString((覆盖,否则它可能不会转换为所需的格式

更改

System.out.println(LoyaltyCards);

System.out.println(loyaltyCard);

目前您正在尝试打印列表本身。

最新更新