如何确定数组的大小,然后显示里面的所有信息
本文关键字:显示 信息 数组 何确定 然后 | 更新日期: 2023-09-27 18:07:30
目标
大家好,我想允许用户键入数组应该有多大,例如:"我希望数组是5",因此只有5个对象可以放在里面。
我想完成的下一步是,如何显示数组中的所有内容。
应用
这就是我迄今为止所尝试的,我觉得我已经很接近了,但我就是做不到。
int Number;
Console.WriteLine("Enter some numbers");
Number = int.Parse(Console.ReadLine());
int[] Marks = new int[Number];
while (Number != -1)
{
Console.WriteLine("Enter some more numbers or press -1 to finish");
Number = int.Parse(Console.ReadLine());
}
for (int i = 0; i < Marks.Length; i++)
{
Console.WriteLine(Marks[i]);
}
问题
如果你还没有计算出来,这个程序只接受第一个输入的值作为数组的大小(这就是我想要的(,但它没有显示里面的所有内容,而是只显示数组的大小,例如
数量=5
00000
五个零看起来是这样的。
SIDENOTE
作为额外的求助,我希望程序在获取数组大小后限制用户在索引字段上方输入。
例如:数组为5,因此不能输入6个条目,否则会出现错误。
循环只需在每次迭代中重新分配Number
(此外,局部变量应为camelCase(变量。您需要分配数组的元素并保留一个索引:
int currentIndex = 0;
int input = 0;
while (currentIndex < values.Length && input != -1)
{
values[currentIndex] = int.Parse(Console.ReadLine());
currentIndex++;
}
请注意,赋值进入数组,并且我们每次都会增加当前索引,这样就不会覆盖任何数据。此外,要小心Parse
函数族,如果向它们抛出垃圾数据,它们就会抛出。
解决方案
在接受了一些给我的信息后,我又给了它一次机会,这就是我所取得的成就。
Console.WriteLine("Enter the size of the array");
int number = int.Parse(Console.ReadLine());
int[] marks = new int[number];
for (int i = 0; i < marks.Length; i++)
{
Console.WriteLine("Enter some more numbers", i + 1);
marks[i] = int.Parse(Console.ReadLine());
}
for (int i = 0; i < marks.Length; i++)
{
Console.WriteLine("'nData #{0}: {1}'n", i + 1, marks[i]);
}
解释
好的,在告诉用户输入数组的大小后,数组被分配给,比方说5,因此在第一个"for"循环中,程序检查"i"是否小于数组大小,所以它只能输入5次,因为这就是数组的大小。
然后它每次都递增"i",所以当它达到5时,它就结束了循环。
第二个"for"循环是检查所有信息,然后我简单地说"新行-数据#{占位符}:{占位符}-新行",每次递增"I",显示数组中的内容。