簡體   English   中英

數組未正確設置值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM