【发布时间】:2012-05-03 01:35:41
【问题描述】:
好的,如果我有一个字符串输入“3 6”
如何将这两个 int 放入一个数组中?如果它们之间有多个空格怎么办?
假设我希望将这些数字放在像 {3, 6} 这样的数组中 那可能吗?谢谢
【问题讨论】:
-
你使用什么语言?
标签: java arrays string input int
好的,如果我有一个字符串输入“3 6”
如何将这两个 int 放入一个数组中?如果它们之间有多个空格怎么办?
假设我希望将这些数字放在像 {3, 6} 这样的数组中 那可能吗?谢谢
【问题讨论】:
标签: java arrays string input int
试试这个,只要找到一个或多个空格的序列,就使用正则表达式拆分输入字符串,然后将生成的String[] 转换为int[]:
String numberString = " 1 2 34 7 ";
String[] numbers = numberString.split("\\s+");
int[] ints = new int[numbers.length];
for (int i = 0; i < ints.length; i++)
ints[i] = Integer.parseInt(numbers[i]);
现在ints 数组包含预期值:
System.out.println(Arrays.toString(ints));
> [1, 2, 34, 7]
【讨论】:
Scanner sc = new Scanner(mString);
while (sc.hasNextInt()){
mArrayList.add(sc.nextInt())
}
然后只需将 ArrayList 转换回数组。
【讨论】:
例如,您可以使用 split 来解决您的问题:
按空格分割的程序 [C#]
static void Main()
{
string s = "1 3 2 7";
//
// Split string on spaces.
// ... This will separate all the words.
//
string[] words = s.Split(' ');
foreach (string word in words)
{
Console.WriteLine(word);
}
}
输出
1 3 2 7
【讨论】:
$string = "3 6 4 879";
preg_match_all('/\d+(?=\s*)/', $string, $arr);
这是一种 PHP 方式。
【讨论】: