我写的程序会收到像这样的输入
W 12.1 -1 2.2
B 1.2 3.2 1
我需要检查数字是否在coonstraints中,所以我的想法是将这些数字作为整数存储在数组中。数字需要用白色空格和点分隔。目前我有这段代码:
public static void main(String[] args) {
Scanner reader = new Scanner (System.in);
String input = reader.nextLine();
String[] numbers = input.substring(2,input.length()).split("\\.");
System.out.println(Arrays.toString(numbers));
}
对于输入W 12.1 -1 2.2
,输出为[12, 1 -1 2, 2]
如您所见,我设法让它处理点,但我无法移除空格。什么是实现我的任务最资源有效的方法?
答案 0 :(得分:-1)
数字需要用空格和点分隔。
应用replaceAll("\\s", ".")
以.
替换空格。
String[] numbers = input.replaceAll("\\s", ".").substring(2,input.length()).split("\\.");
或在split()中使用另一个接受.
和whitespace
char的正则表达式:
String[] numbers = input.substring(2,input.length()).split("\\.|\\s");