无法通过用户输入使用for循环填充具有双精度数组的数组。 C#

时间:2016-03-03 10:31:52

标签: c# arrays loops

我最近开始研究C#,现在我正在尝试用用户输入填充双打数组,使用for循环。当我用Int做它时,一切都很好但是有双打我得到错误消息“不能隐式地将类型'double'转换为'int'。”

namespace Homework
{
class Program
{
    static void Main(string[] args)
    {
        double[] n = new double[10];
        double i, j;

        Console.WriteLine("Please give 10 numbers: ");

        for (i = 0; i < 10; i++)
        {
            Console.Write("{0}: ", i+1);
            //1st error
            n[i] = Convert.ToDouble(Console.ReadLine());

        }

        for (j = 0; j < 10; j++)
        {
            Console.WriteLine("Element[{0}] = {1}", j+1, n[j]); /*2nd error*/
        }
        Console.ReadKey();
    }
}

}

我在第一个for循环中的'n [i]'中得到了2个这样的错误消息,另一个指向了WriteLine部分代码最末端的'n [j]'。 / p>

2 个答案:

答案 0 :(得分:6)

double i, j;

在迭代中使用。 这两个必须是整数,因为数组只有整数作为索引。

数组没有索引1,5

所以,将其改为:

int i, j;

答案 1 :(得分:5)

        n[i] = Convert.ToDouble(Console.ReadLine());

问题在这里。索引数组时i应为int。因为拥有索引为2.5的元素没有意义。同样适用于j。将其声明为int而不是double