gpt4 book ai didi

java - 交换值(value)程序抛出错误

转载 作者:行者123 更新时间:2023-11-29 10:11:16 26 4
gpt4 key购买 nike

明确一点,我已经完成我对我遇到的错误的研究,线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:10。我一直在寻找 SO 一段时间,但提供的解决方案均无效。令我部分困惑的是抛出错误的那一行。 **这不是来自带有 **

的线程的重复线程

我正在编写一个程序来交换数组的两个索引的值(更大排序程序的一部分)。我收到错误 Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 10。错误指向我的代码 if(data[i] > data[i+1]){ 中的行。我无法弄清楚是什么导致了错误,但我知道这可能是我遗漏的非常简单的事情。

public static int length = 10;
public static int[] data = new int[length];
data[0] = 1;
data[1] = 10;
data[2] = 5;
data[3] = 11;
data[4] = 9;
data[5] = 2;
data[6] = 7;
data[7] = 9;
data[8] = 8;
data[9] = 10;
public static void exchange(){
int temp = 0;
for(int i=0;i<length;i++){
if(data[i] > data[i+1]){
temp = data[i+1];
data[i+1] = data[i];
data[i] = temp;
}
}
}

感谢任何帮助:) 在此先致谢

最佳答案

因为你在行说了i+1,所以使用像

for(int i=0;i<length - 1;i++){
if(data[i] > data[i+1]){

或者,你可以使用类似的东西

for(int i=1;i<length;i++){
if(data[i-1] > data[i]){
temp = data[i];
data[i] = data[i-1];
data[i-1] = temp;
}

关于java - 交换值(value)程序抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33459069/

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