启动for循环

时间:2018-06-18 16:51:47

标签: for-loop initialization

我的另一个婴儿问题,但我敢问它。

代码是愚蠢的:

using System;
using System.Linq;

public class Exercise25

{
    public static void Main()

    {
        Console.WriteLine("Define the values!");
        int[] arr = new int [3];
        int i;
        for (i = 0; i < 3; i++)
        {

            Console.Write("Number {0} : ", i);
            arr[i] = Convert.ToInt32(Console.ReadLine());
        }
        int sum = arr.Sum();
        double ave = arr.Average();
        Console.WriteLine("The average is: {0}\nThe sum of the values is {1}\n", ave, sum);
        Console.ReadKey();
    }
}

我的目标是,当程序写出要求的号码时

(Console.Write("Number {0} : ", i);

它应该要求数字1作为第一个数字,而不是数字0。 我将“i”初始化为1,直到“&lt; 4”或“&lt; = 3”或“&lt; = 4”,但它不起作用。

当然还需要3个号码。当我在创建时没有定义数组的大小时,我也得到了错误代码。

我确信解决方案很简单,很抱歉花时间,但我坚持下去,我尝试了所有我能想到的。感谢。

1 个答案:

答案 0 :(得分:0)

当你将i初始化为1并将其递增到3时它不起作用的原因是因为当索引3不存在时(仅0,1和2)无法定义数组[3]因为你把它初始化为长度3)。只需更换

Console.Write("Number {0} : ", i);

Console.Write("Number {0} : ", (i+1));

这不会改变您要写入的索引,但会显示您想要的索引。