我正在尝试从用户那里获取值并将其存储在特定大小的数组中。我的代码看起来像
int n = int.parse(Console.ReadLine());
string[] samples = Console.ReadLine().Split(' ');
int[] scores = Array.ConvertAll(samples, Int32.Parse);
上面的代码有效,但获取后并没有停止n
输入,它允许我在之后存储值n
输入。我该如何让它停止获取输入n
输入,我想将所有输入放在单个空格分隔的行中。例如:
9
1 2 3 4 5 6 7 8 9
我应该使用 for 循环来实现这一点吗?
我如何让它在n个输入后停止获取输入
这意味着什么?确切地?根据代码,您似乎需要将所有输入放在一行上,并用空格分隔。您可以忽略超出范围的所有输入n
像这样:
string[] samples = Console.ReadLine().Split(' ').Take(n).ToArray();
如果这不是您想要的,请改进问题,以便更清楚您尝试过什么、您现在拥有的代码做什么以及您希望它做什么。
请注意,其他替代方案包括:
- 要求用户在每一行输入一个单独的数字。在这种情况下,您可以按照中的建议进行操作一条评论 https://stackoverflow.com/questions/43622971/how-to-store-multiple-values-from-user-to-array-upto-particular-size/43623000?noredirect=1#comment74295022_43622971,然后输入数据(即调用
Console.ReadLine()
)进入循环。例如:
string[] samples = new string[n];
for (int i = 0; i < n; i++)
{
samples[i] = Console.ReadLine();
}
- 一次处理一个键的用户输入,一旦用户输入了所需数量的值,就终止输入,无论空格、换行符等如何。这是一种更复杂的方法,所以我不会费心编写一个代码示例,因为目前看来没有必要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)