2

このプログラムの目的は、元の配列を 10 倍に拡大した、より大きなバイト配列を作成することです。たとえば、[0][0] の 1 は、新しい配列では 10x10 の正方形である必要があります。コードと出力を提供します。これは、より大きな配列の作成中に適切に機能するように見えますが、その後は異なる値を出力します。現在、テスト中に扱う変数の数を制限するために、行だけで実験しています。誰もがこれが起こる理由を考えることができますか?

public class Test 
{
static byte[][] byteArray =
{{1, 0},
 {0, 1}};

public static void main(String[] args)
{
    byte newarray[][] = converter();
    for(int i = 0; i < 20; i++)
    {
        System.out.println(newarray[i][0]);
    }
}

private static byte[][] converter()
{
    byte[][] b = new byte[20][20];

    for(int r = 0; r < 2; r++)
    {
        for(int i = 0; i < 10; i++)
        {
            b[r+i][0] = byteArray[r][0];
            System.out.println(byteArray[r][0]);
            System.out.println(b[r+i][0]);
        }
    }

    return b;
}

}

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4

1 に答える 1