如何确定数组的大小,然后显示里面的所有信息

本文关键字:显示 信息 数组 何确定 然后 | 更新日期: 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",显示数组中的内容。