2011-11-30 200 views
1
using System; 

namespace area 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      double basse; 
      double height;     

      Console.WriteLine("Enter your base length: "); 
      basse = Convert.ToDouble(Console.ReadLine()); 

      Console.WriteLine("Enter the height: "); 
      height = Convert.ToDouble(Console.ReadLine());      

      double area = Program.triangleArea(basse, height); 
      Console.WriteLine("Your area is {0:f3}", area); 
      Console.ReadLine();      
      double pryrmid = Program.pyramidVolume(triangleArea); 
      Console.WriteLine(" Pyramid Volume is {0:f3}" , pryrmid);          
     } 

     public static double triangleArea(double basse, double height) 
     { 
      return (0.5 * basse) * height; 
     }    
     public static double pyramidVolume (double triangleArea)     
     { 
      return (1/3) * triangleArea;     
     }   
    }      
} 

我正在嘗試使用定義的方法計算pryamid的體積。計算面積

我不斷收到錯誤

參數 '1':不能從 '方法組' 到 '雙'(CS1503)轉換 - \ VMWare的主機\共享文件夾\文件\ SharpDevelop的項目\ WS_6_D \ WS_6_D \的Program.cs:28,57

爲 最好重載方法匹配 'area.Program.pyramidVolume(雙)' 具有一些無效的參數 (CS1502) - 目錄\ VMware主機\共享文件夾\文件\ SharpDevelop的 項目\ WS_6_D \ WS_6_D \的Program.cs:28,34

我想知道,如果有人可以幫助我得到正確的跟蹤。

回答

3

問題是triangleArea in
double pryrmid = Program.pyramidVolume(triangleArea);不是一個變量,因此它指向了靜態方法。

改爲嘗試double pryrmid = Program.pyramidVolume(area);

+0

謝謝,完美的作品:) – Evildommer5

1

編譯器期望它可以評估爲double,但提供函數的名稱(triangleArea)。

相反,您可能想要通過之前計算的area

1

我想你的意思是說的

double pryrmid = Program.pyramidVolume(area); 

代替

double pryrmid = Program.pyramidVolume(triangleArea); 

triangleArea是你的方法,你用area作爲你的結果值。