gpt4 book ai didi

java - 完成一个交换整数数组的前半部分和后半部分的方法

转载 作者:行者123 更新时间:2023-11-30 06:59:33 25 4
gpt4 key购买 nike

每当我尝试运行我的代码时,我总是收到越界错误。有谁知道它有什么问题?我似乎无法弄清楚。

public class Swapper{

/**
This method swaps the first and second half of the given array.
@param values an array
*/

public void swapFirstAndSecondHalf(int[] values) {
// your work here

int[] first = new int[values.length/2];
int[] second = new int[values.length/2];
for(int i = 0; i < values.length / 2; i++) {
second[i] = values[i];
}
for (int j = values.length / 2; j < values.length; j++) {
first[j] = values[j];
}
for(int k = 0; k < values.length / 2; k++) {
values[k] = first[k];
}
for(int l = values.length / 2; l < values.length; l++) {
values[l] = second[l];
}
}

// This method is used to check your work
public int[] check(int[] values) {
swapFirstAndSecondHalf(values);
return values;
}
}

最佳答案

int[] first = new int[values.length/2];

因此索引 [0..values.length/2 - 1]first 有效。

for (int j=values.length/2; j<values.length; j++)
{
first[j] = values[j];
}

所以 j 的第一个值是 values.length/2,它已经越界了。

您需要练习调试、放置断点并在代码执行时跟踪代码。

关于java - 完成一个交换整数数组的前半部分和后半部分的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31486239/

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