2015-10-26 27 views
0
public static void GetSales(string monthArray, double monthlySales) 
{ 
    for (int i = 0; i < 12; i++) 
    { 
     Console.WriteLine("Please enter Monthly Sales for {0}", monthArray[i]); 
     monthlySales[i] = Convert.ToDouble(Console.ReadLine()); 
    } 
} 

static void Main(string[] args) 
{  
    string[] monthArray =new string[12] {"January", "FEBRUARY","March","April","May","June","July","August","September","October","Novemember","December"}; 
    double[] monthlySales= new double[12]; 
    GetSales(monthArray[0],monthlySales[0]); 
    Console.ReadLine(); 
} 

我不知道爲什麼我得到這個錯誤在GetSales方法爲雙月刊[]任何幫助將是偉大的謝謝。調用方法時,無法將[]的索引應用於'double'類型的表達式?

+1

你的論點是'雙monthlySales'沒有'雙monthlySales []'。你忘了'[]'。 – dbc

+0

下一站將是:如何檢查用戶是否鍵入有效的數值? – Steve

回答

1

您正在向您的GetSales方法傳遞一個double而不是數組,因此沒有任何內容需要索引。你應該通過整個陣列。

GetSales(monthArray[0], monthlySales); 

public static void GetSales(string monthArray, double[] monthlySales) 
1

你已經混淆了數組的工作方式。

你傳遞的是:string monthArray, double monthlySales,但在你的方法中,你將它們當作數組來處理。 monthArray[i]發生了工作,因爲string恰好是chars的集合,因此​​實際上是返回該月的第一個字母,而不是第一個月。

試試這個:

public static void GetSales(string[] monthArray, double[] monthlySales) 
          //  ^^ changed here  ^^ 
{ 
    for (int i = 0; i < 12; i++) 
    { 
     Console.WriteLine("Please enter Monthly Sales for {0}", monthArray[i]); 

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

} 
static void Main(string[] args) 
{ 

    string[] monthArray =new string[12] {"January", "FEBRUARY","March","April","May","June","July","August","September","October","Novemember","December"}; 
    double[] monthlySales= new double[12]; 
    GetSales(monthArray, monthlySales); 
    //   ^^ changed here ^^ 
    Console.ReadLine(); 
}//main 
+0

這工作,我現在得到它,我能夠通過它,看看它在做什麼。感謝您的快速幫助。 – Meisterunner

相關問題