当我输入任何大于4的amountNumber时,它会出现:
在finder_pairs.finder_program_main.main(finder_program_main.java:19)的线程"main“java.lang.ArrayIndexOutOfBoundsException中出现异常:(数字I输入,但为负)
System.out.println("How many numbers will you input?");
Scanner amount = new Scanner(System.in);
int amountNumbers = amount.nextInt();
if (amountNumbers < 4)
System.out.println("Error you need to input at least 4 numbers");
System.out.println("Write the numbers: ");
Scanner numbers = new Scanner(System.in);
int repetition = amountNumbers;
do {
int[] num = new int[amountNumbers];
int num1 = num[0-amountNumbers];
int num2 = num[1-amountNumbers];
int num3 = num[0-amountNumbers];
int num4 = num[1-amountNumbers];
if (num1 + num2 == num3 + num4)
System.out.println(num1 + " + " + num2 + "is equal to " + num3 + " + " + num4);
repetition-- ;
}while(repetition > 0);
amount.close();
numbers.close();
}
}
发布于 2018-07-26 08:54:52
在这行中:
int num1 = num[0-amountNumbers];
您已尝试调用0-amountNumbers
的索引,您指定的索引必须大于或等于4。这将意味着这将始终导致indexoutofboundserror
,因为0减去正数将是零,这不是有效的array
索引。我不确定您打算如何处理这行代码,但您必须确保您调用的索引将为0或更大
https://stackoverflow.com/questions/51529490
复制相似问题