gpt4 book ai didi

java - 初学者的问题 : copying certain elements of an array

转载 作者:行者123 更新时间:2023-11-30 07:36:36 24 4
gpt4 key购买 nike

我正在尝试将一个数组的某些元素复制到另一个数组中。例如,我想将索引 0 的行复制到链接的索引 0 中,将索引 3 的行复制到链接的索引 1 中,依此类推(基本上每 3 个行元素)。

到目前为止,我一直收到 ArrayIndexOutOfBound 错误。感谢您的帮助!

String[] lines = inputString.split(System.getProperty("line.separator"));
String[] links = new String[lines.length];
int j = 0;

for (int i = 0; i < lines.length; i++) {
links[i] = lines[j+3];
j++;
System.out.println(links[i]);
}

最佳答案

听起来您需要将 i 递增 3,而不是将 3 添加到 j(但随后仅将 j 递增 1 ).事实上,您根本不需要两个变量:

for (int i = 0; i < lines.length; i += 3) {
links[i / 3] = lines[i];
}

您还应该更改您的代码以仅创建您需要的数组:

String[] links = new String[lines.length / 3];

只是为了感兴趣,让我们看看您的代码在分配方面实际上试图做什么:

links[0] = lines[3];
links[1] = lines[4];
links[2] = lines[5];
// etc

如您所见,这只是抵消索引,而不是乘以它...一旦ilines.length-3 ,你最终会得到

links[lines.length - 3] = lines[lines.length]; // Bang!

关于java - 初学者的问题 : copying certain elements of an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452459/

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