java - 线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:(您输入的数字为负数)
问题描述
当我输入任何 amountNumber > 4 时,它会出现:
线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:finder_pairs.finder_program_main.main(finder_program_main.java:19) 处的(我输入的数字为负数)
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();
}
}
解决方案
在行中:
int num1 = num[0-amountNumbers];
您已尝试调用0-amountNumbers
您指定的索引必须为 4 或更大。这将意味着这将始终导致indexoutofboundserror
零减去正数将为零,这不是有效的array
索引。我不确定你打算用这条线做什么,但你必须确保你调用的索引是 0 或更大
推荐阅读
- python - 如何将特定字符串添加或附加到数据框的列?
- angular - Nginx 重定向到 EC2 实例
- python - IndexError:列表索引超出范围 12
- python-2.7 - (python)如何通过范围内的键获取所有值
- asp.net-mvc - Html.Raw 中的 ASP MVC 颜色字符串
- tensorflow - Common variable name acronym for Pytorch or Tensorflow?
- verilog - 如果在实例化的子模块中使用输出应该是输出 reg 吗?
- php - 如何在wordpress主页的产品缩略图中显示产品评级?
- android - Mapbox Android Marker 已弃用 API 21+
- php - 为什么 nginx 在我的 PHP 文件下载时返回 403?