我使用以下代码后,无法将string.split值保存到数组中,我的数组为空。
Scanner in = new Scanner(System.in);
String input = in.nextLine();
in.close();
if(input.matches("^[0-6][.][0-6]$"))
{
b = false;
String[] coordinates = input.split(".");
int c1 = Integer.parseInt(coordinates[0]);
int c2 = Integer.parseInt(coordinates[1]);
playingfield.PlayTurn(c1, c2);
它告诉我坐标[0]和[1]为空。
到目前为止一切正常,正则表达式是正确的因为我可以在那里打印字符串并且工作正常
答案 0 :(得分:4)
替换
String[] coordinates = input.split(".");
带
String[] coordinates = input.split("\\.");
Split将正则表达式作为参数。 .
匹配任何内容(意味着整个字符串),而不是您期望的点字符。