このプログラムの目的は、元の配列を 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