gpt4 book ai didi

对数组进行排序时出现 java.lang.ArrayIndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-11-29 07:01:20 25 4
gpt4 key购买 nike

我是 Java 的绝对初学者。最近我开始用 Java 编写代码来对数组的 5 个元素进行排序。用户将输入数组元素。它遵守代码并运行程序。但是一旦我完成输入数组元素,程序就会崩溃!这是我的代码:

import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int[] arr;
arr = new int[5];
System.out.println("Enter the 5 elemnts in the array");
for(int i=0; i<5; i++)
arr[i] = in.nextInt();
int temp;
for(int i=0; i<5; i++)
{
temp = arr[i+1];
for(int j=i+1; j>=0; j--)
{
if(arr[i] > temp)
{
arr[j] = temp;
arr[i] = arr[j];
}
}
}
}
}

它抛出一个类似这样的错误: 线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 5 在 Main.main(Main.java:16)我只是无法阅读和理解错误!

最佳答案

这里是错误:

for(int i=0; i<5; i++) {
temp = arr[i+1];
// ^^^
// Right here!
...
}

i等于4时,i+15,超过了数组。

这种错误是如此常见,以至于它有自己的名字:叫做Off By One Error。 .当您在循环中看到 ArrayIndexOutOfBoundsException 时,您首先要查找的是此类错误。

关于对数组进行排序时出现 java.lang.ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25557183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com