2

これら 2 つのループの結果が異なるのはなぜですか? どちらも各配列のすべての値を 5 に初期化すると思っていましたが、2 番目の配列だけが機能します。誰かがこれがなぜなのか説明できますか?

static main(args)
{
    double[][] x = new double[3][3]
    double[][] y = new double[3][3]

    for(row in x)
    {
        for(num in row)
        {
            num=5
        }
    }

    for(int i=0;i<y.size();i++)
    {
        for(int j=0;j<y[i].size();j++)
        {
            y[i][j]=5
        }
    }

    println "x: ${x}" 
    println "y: ${y}"
}

そして、ここに出力があります

x: [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]
y: [[5.0, 5.0, 5.0], [5.0, 5.0, 5.0], [5.0, 5.0, 5.0]]
4

2 に答える 2