2011-11-30 139 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作为你的结果值。