gpt4 book ai didi

java - 复制数组元素

转载 作者:行者123 更新时间:2023-12-01 23:54:15 24 4
gpt4 key购买 nike

我不明白为什么代码不将唯一元素复制到另一个数组。这是我的代码。我虽然 == 是复制元素,但我得到了一个错误,所以我使用 = 代替。

 public static void main(String[] args) {
// TODO Auto-generated method stub
int[] B = new int[15];
B[2] = 2;
B[3] = 3;
B[4] = 4;
B[5] = 5;
B[6] = 6;
B[7] = 7;
B[8] = 8;
B[9] = 9;
B[10] = 10;

int[] check = new int[B.length];
for (int i = 0; i < B.length; i++) {
for (int x = 0; x < check.length; x++) {
if (B[i] != check[x]) {
check[x] = B[i];
}
}
}

for (int i = 0; i < check.length; i++) {
System.out.println(check[i]);
}
}

最佳答案

你将所有内容循环了两次,而它应该只循环一次。

目前看起来像这样:

for (int i = 0; i < B.length; i++) {
for (int x = 0; x < B.length; x++) {
if (B[i] != check[x]) {
check[x] = B[i];
}
}
}

这意味着当 i = 0 时,则 x=0, 1, 2, 3, 4 等.. 然后当 i = 1, x=0,1, 2,3....等

因此最后一次运行将是 i=14,其中 B[i] = 0
因此,对于每个 check[x],它不会等于 0

你想要做的就是在一行中处理它。因此,您可以只使用 i 和外循环,而不是 2 个变量 ix,如下所示。这意味着您仅比较 B[1] 与 check[1] 以及 B[2] 与 check[2],依此类推。

像这样:

for (int i = 0; i < B.length; i++) {
if (B[i] != check[i]) {
check[i] = B[i];
}
}

关于java - 复制数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851829/

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