[英]Array is not setting values properly
前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
始終小於array( list.length
)的大小,因此在第二個for循環中,您永遠不會迭代直到數組結尾。
更改第二個for循環以迭代到數組的末尾,如下所示:
for(int k = 0; k < list.length; k++)
您只遍歷list
一部分,如for
條件中所述:
for(int k = 0; k<=count; k++)
^--here--^
這是因為count
的值小於原始數組的長度。 更改此條件以遍歷整個數組:
for(int k = 0; k<list.length; k++)
要遍歷整個list
更改以下內容:
for(int k = 0; k<=count; k++)
至
for(int k = 0; k<list.length; k++)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.