簡體   English   中英

雙數組有問題

[英]having trouble with double arrays

我的程序有一個小問題。 基本上,我想使用雙精度數組將所有偶數元素設置為0,將所有奇數元素設置為1。我的輸出應為:

001 001 11

相反,我的輸出是:

000 111 000

對於如何解決這個問題,有任何的建議嗎?

public class SetOf0and1 {

    public static void main(String[]args)
    {

        int [][] numbers1 = {{4,2,5}, {2,4,1}, {1,3}};

        System.out.println("Before setting elements between 0 and 1: ");
        displayArray(numbers1);

        setEvenRowsTo0OddRowsTo1 (numbers1);
        System.out.println("After setting the elements between 0 and 1");
        displayArray(numbers1);

    }

    public static void setEvenRowsTo0OddRowsTo1(int [][]array)
    {
    for(int i=0; i<array.length;i++)
    {
        for(int j=0; j<array[i].length;j++)
        {
            if(i%2 == 0)
            array[i][j]=0;
            else
                array[i][j]=1;

    }
    }
}
    public static void displayArray(int [][]array)
    {
        for(int i=0;i<array.length;i++)
        {
            for( int j=0; j<array[i].length;j++)            {
                System.out.print(array[i][j] + " " );
            }
            System.out.println();

    }

    }

}

您的測試是錯誤的:

if(i%2 == 0)

應該

if(array[i][j] % 2 == 0)

您正在檢查索引i是否為奇數或偶數而不是元素。 該行:

if(i%2 == 0)

應該:

if(array[i][j]%2 == 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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