1

如何将用户 eq: 1、3、400、444 等在单行中输入的值放入数组中。我知道在这种情况下我必须声明一个分隔符,即逗号“,”。有人可以帮忙吗

谢谢

4

5 回答 5

9
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");

您可以在String.split()like中使用更简单的分隔符,","但更复杂的分隔符"\\s*,\\s*"还会去除逗号周围的空格。

于 2012-05-12T16:16:18.210 回答
2

你想使用split

userInput.split(",");
于 2012-05-12T16:15:38.257 回答
2

尝试这个:

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]
于 2012-05-12T16:19:36.557 回答
1
String line = "1, 3, 400, 444";
for(String s : line.split(","))
   System.out.println(s);
于 2012-05-12T16:21:56.283 回答
1
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");

这是正确的答案,“\\s*,\\s*”是一个正则表达式,正则表达式对于字符串解析非常有用。

于 2012-05-12T16:22:43.560 回答