如何将用户 eq: 1、3、400、444 等在单行中输入的值放入数组中。我知道在这种情况下我必须声明一个分隔符,即逗号“,”。有人可以帮忙吗
谢谢
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");
您可以在String.split()
like中使用更简单的分隔符,","
但更复杂的分隔符"\\s*,\\s*"
还会去除逗号周围的空格。
你想使用split:
userInput.split(",");
尝试这个:
String line = "1, 3, 400, 444";
String[] numbers = line.split(",\\s+");
int[] answer = new int[numbers.length];
for (int i = 0; i < numbers.length; i++)
answer[i] = Integer.parseInt(numbers[i]);
现在answer
是一个数组,字符串中的数字为整数。其他答案只是拆分字符串,如果您需要实际数字,则需要转换它们。
System.out.println(Arrays.toString(answer));
> [1, 3, 400, 444]
String line = "1, 3, 400, 444";
for(String s : line.split(","))
System.out.println(s);
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");
这是正确的答案,“\\s*,\\s*”是一个正则表达式,正则表达式对于字符串解析非常有用。