2016-03-03 96 views
2

我最近开始研究C#,现在我试图用用户输入来填充一个数组,用for循环。当我用Int做的时候,这很好,但是双打我得到错误信息“不能隐式地将类型'double'转换为'int'。”使用for循环无法通过用户输入填充数组。 C#

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(); 
    } 
} 

}

我得到这些错误消息2在在最后在第一for循环和其他的点到“N [j]的”的“N [1]”一个点WriteLine部分的代码。

+0

使用'int i,j'而不是'double' – Valentin

回答

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

问题是在这里。当索引数组时,i应该是int。因为索引为2.5的元素没有意义。同样为j。声明它们为int而不是double

6
double i, j; 

用于您的迭代中。 这两个数字必须是整数,因为数组只有整数作为索引。

一个数组没有索引1,5

因此,将其更改为:

int i, j;