文字列入力を[][]のint配列に変換するにはどうすればよいですか。
たとえば、入力が3aの場合は、[2] [0]のインデックスに戻り、5eの場合は、[4][4]のインデックスに戻る必要があります。
文字列入力を[][]のint配列に変換するにはどうすればよいですか。
たとえば、入力が3aの場合は、[2] [0]のインデックスに戻り、5eの場合は、[4][4]のインデックスに戻る必要があります。
このような:
public static void main(String[] args) {
int[][] array;
array = createArray("3a");
System.out.println(array.length + "," + array[0].length);
array = createArray("5e");
System.out.println(array.length + "," + array[0].length);
array = createArray("9g");
System.out.println(array.length + "," + array[0].length);
}
private static int[][] createArray(String input) {
int a = Integer.parseInt(input.substring(0, 1)) - 1;
int b = input.charAt(1) - 97;
return new int[a][b];
}
これは以下を出力します:
2,0 4,4 8,6
また、入力を に渡す前に、何らかの検証方法を実行してくださいcreateArray
。単純な正規表現パターンがそのトリックを行います: [0-9][a-z]
.