计算字符串中的数字并将它们添加到数组中

时间:2014-09-19 18:56:03

标签: arrays string

我有一个用户通过Console.ReadLine()输入的字符串,例如" 140 150 64 49" (仅用空格分隔)我想将这些数字添加到数组中。什么是最好的方法。我对编程有点新意,所以我有点迷失。谷歌也没有帮助。

2 个答案:

答案 0 :(得分:0)

当你说你正在使用Console.ReadLine()时,我假设你使用C#。

你可以用这个:

        int counter = 0;
        int[] array = new int[200]; // choose some size
        string s = Console.ReadLine();

        int indexOfNextSpace;
        while ((indexOfNextSpace = s.IndexOf(' ')) > -1)
        {
            int num = int.Parse(s.Substring(0, indexOfNextSpace));
            array[counter] = num;
            counter++;
            s = s.Substring(indexOfNextSpace + 1);
        }

如果您不确定有效输入,请尝试使用try \ catch,或使用int.TryParse而不是int.Parse。

答案 1 :(得分:0)

您可以使用:

List<int> ints = new List<int>();
int num;
int[] result = new int[] { };

string input = Console.ReadLine();

foreach (string str in input.Split(' '))
{
    if (int.TryParse(str, out num))
    {
        ints.Add(num);
    }
}

result = ints.ToArray();

foreach (int i in result)
{
    Console.WriteLine(i);
}

它使用List然后将其转换为数组。请注意,项目已经过验证,因此只会添加整数。

这将产生以下输出:

123 456 dsf def 1

123
456
1