2010-11-03 47 views
-1

我正在研究一个项目,是它的学校。我很难理解如何传递用户输入并将其与数组一起存储。该项目将获得七天的高温和低温,并存储在不同的阵列中,然后计算出高温等。我如何收集输入并将其存储在不同类的数组中?我想,我几乎有它,但不知道我要去哪里错了C#中的数组获取用户输入并传递给不同的类

我有这个迄今为止却得到了一个错误:

Cannot implicitly convert type 'int' to 'int[]'

namespace Project_Console_3 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      WeeklyTemperature Temp = new WeeklyTemperature(); 

      int Count = 0; 
      while (Count < 7) 
      { 
       Console.WriteLine("Enter The High Temperature for Day {0}", Count+1); 
       Temp.HTemp1 =Console.ReadLine();  // save the number as a string number 
       Temp.HTemp = Convert.ToInt32(Temp.HTemp1); // change the string number to a integer as HTemp 
       Console.WriteLine("--------------------------------");//Draws a line 

       Console.WriteLine("Enter The Low Temperature for Day {0}", Count+1); 
       Temp.LTemp1 =Console.ReadLine();  // save the number as a string number 
       Temp.LTemp = Convert.ToInt32(Temp.LTemp1); 
       Console.WriteLine("--------------------------------");//Draws a line 
       Count = Count + 1; 
       Console.Clear(); 
      }  
     } 
    } 
} 

WeeklyTemperature.cs

namespace Project_Console_3 
{ 
    class WeeklyTemperature 
    { 
     public int[] HTemp = new int[7]; 
     public int[] LTemp = new int[7]; 
     public string HTemp1; 
     public string LTemp1; 
    } 
} 
+0

我柯克的路线质疑(你能改写这个问题来证明你尝试过什么?),但与此同时,一个一般原则同意可能会考虑一个Windows窗体,一个Web窗体,或者简单地接受来自控制台的用户输入。所有这些在Visual Studio中都非常简单。祝你好运。 – LesterDove 2010-11-03 03:37:09

+0

,我想你应该把问题标记为“家庭作业” – LesterDove 2010-11-03 03:39:32

回答

1

它看起来像所有你需要做的是改变这条线:

Temp.HTemp = Convert.ToInt32(Temp.HTemp1); 

Temp.HTemp[Count] = Convert.ToInt32(Temp.HTemp1) 
0

您的错误消息告诉您,您在变量赋值中存在不匹配。 在这一行:

Temp.HTemp = Convert.ToInt32(Temp.HTemp1); 

返回值是int类型,但所述可变Temp.HTempint[],其类型是保持各个整数的阵列组成。 要将值存储在数组中,编译器必须知道它必须在哪个位置放置该值。

索引的阵列与所述运营商[]作品:

int pos = 0; 
Temp.HTemp[pos] = 5; 

将5存储在第一位置。

由于您的while循环中有一个计数变量,因此您可以使用它来为数字应存储的位置编制索引,正如Jim Ross在他的答案中已经显示的那样。

更多索引的话题,你可以找到here和教程here