前 4 个值已在新数组中正确设置。这与我的变量“count”设置不正确有关。该程序的目标是简单地获取偶数,并将它们放入一个新数组中。
我添加了 4 作为测试,这似乎工作完美,但我不认为这是这里的问题。
int[] list = {8,5,4,11,12,2,1,3,10,6,7};
int count = 0;
int gr = 0;
for(int n=0; n<list.length; n++)
{
if(list[n] % 2 == 0)
{
count++;
}
}
int[] evn = new int[count];
for(int k = 0; k<=count; k++)
{
if(list[k] % 2 == 0)
evn[gr++] = list[k];
}
return evn;
目前,数组在应该打印“8,4,12,2,10,6”时却打印“8,4,12,2,0,0”
最佳答案
发生这种情况是因为 count
始终小于数组的大小(list.length
),因此在第二个 for 循环中,您永远不会迭代到最后数组的。
更改第二个 for 循环以迭代直到数组末尾,如下所示:
for(int k = 0; k < list.length; k++)
关于java - 数组未正确设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241165/