【发布时间】:2012-05-12 16:11:29
【问题描述】:
如何将用户 eq: 1、3、400、444 等在一行中输入的值放入数组中。我知道在这种情况下我必须声明一个分隔符,即逗号“,”。有人可以帮忙吗
谢谢
【问题讨论】:
如何将用户 eq: 1、3、400、444 等在一行中输入的值放入数组中。我知道在这种情况下我必须声明一个分隔符,即逗号“,”。有人可以帮忙吗
谢谢
【问题讨论】:
String input = "1, 3, 400, 444";
String[] numbers = input.split("\\s*,\\s*");
您可以在String.split() 中使用更简单的分隔符,例如",",但更复杂的"\\s*,\\s*" 还会去除逗号周围的空格。
【讨论】:
"," 分隔符仍然是一个正则表达式 - 只是一个更简单的表达式。
试试这个:
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]
【讨论】:
你想使用split:
userInput.split(",");
【讨论】:
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*”是正则表达式,正则表达式对于字符串解析非常有用。
【讨论】: