我不确定为什么我会遇到越界异常,有人能帮忙吗?这真的很烦人,因为我真的很想了解发生了什么。
公共类忠诚卡列表{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);
目前您正在尝试打印列表本身。