このようなものはどうですか:
for (int row = 0; row < 3; row ++)
for (int col = 0; col < 3; col++)
table[row][col] = (char) ('1' + row * 3 + col);
次の完全なJavaプログラム:
class Test {
public static void main(String[] args) {
char[][] table = new char[3][3];
for (int row = 0; row < 3; row ++)
for (int col = 0; col < 3; col++)
table[row][col] = (char) ('1' + row * 3 + col);
for (int row = 0; row < 3; row ++)
for (int col = 0; col < 3; col++)
System.out.println (table[row][col]);
}
}
出力:
1
2
3
4
5
6
7
8
9
これが機能するのは、Unicodeの数字が\ u0030(から取得するもの'0'
)から連続しているためです。
式'1' + row * 3 + col
(あなたが変化row
し、col
その間0
で2
包括的である場合)は単にあなたにから1
までの文字を与えます9
。
明らかに、これはさらに進んだ場合に文字を提供しません10
(2文字なので)が、3x3の場合は問題なく機能します。その時点で、次のように配列の内容を生成する方法を変更する必要があります。
String[][] table = new String[5][5];
for (int row = 0; row < 5; row ++)
for (int col = 0; col < 5; col++)
table[row][col] = String.format("%d", row * 5 + col + 1);