我注意到在将整数输入数组时,如果整数大于数组长度,则会抛出越界异常。为什么是这样?为什么数组不能接受任何整数值?当我需要存储大于数组长度的整数时,如何更正此问题。
谢谢!
这是代码。当我输入一个大于 5 的整数时,我得到一个越界异常。如果我输入小于 5 的整数,则代码可以完美运行。
public class NumOfOccur
{
static Scanner input = new Scanner(System.in);
static int[] cards = new int[5];
static int[] numOccurence = new int[5];
public static void main(String[] args)
{
System.out.println("Enter five values: ");
for (int i = 0; i < 5; i++)
{
System.out.print("Card " + (i + 1) + " : ");
cards[i] = input.nextInt();
}
containsPair(cards);
}
public static boolean containsPair(int hand[])
{
for (int i = 0; i < hand.length; i++)
numOccurence[hand[i]]++;
for (int i = 1; i < numOccurence.length; i++)
{
if (numOccurence[i] > 0)
System.out.println("The number " + i + " occurs " + numOccurence[i] + " times.");
}
return false;
}
}