为什么我收到错误“Expected class,delegate,enum,interface or struct”

时间:2012-10-21 18:32:19

标签: c#

有谁能告诉我为什么会收到此错误?这是我在这个论坛上的第一篇文章。我自己解决问题所做的研究表明,我可能在某个地方有一个不合适的花括号,但我无法找到它。非常感谢任何帮助。


using System;

    class Program
    {
    //declare constant
    const double ANGLES_FROM_RADIANS = 57.295779513082323;

    static void Main()
    {

        //declare vairiables
        double xc = 0.0;
        double yc = 0.0;
        double radius = 0.0;
        double theta = 0.0;

        //call methods
        double GetUserInput (ref double xc, ref double yc);
        double CalcCoords (double xc, double yc, ref double radius, ref double theta);
        double Output (double radius, double theta);
     }


    //method prologue

    static double GetUserInput (ref double xc, ref double yc)
    {
        xc = 0;
        yc = 0;
        while (xc = 0)
        {
     Console.WriteLine("Please enter a possitive, non-zero value for the  x-ccordinate   of a point.");
            xc = int.Parse(Console.ReadLine());
            if (xc <= 0)
            {
                Console.WriteLine("Error, x must be greater than zero.");
            }
        }
        Console.WriteLine("Please enter a possitive value for the y-coordinate of a point.");
        yc = int.Parse(Console.ReadLine());

        Return Console.WriteLine("Your Coordinates are ({0},{1})", xc, yc);
    }

    //method prologue
    static double CalcCoords (double xc, double yc, ref double radius, ref double theta)
    {
            {
            radius = Math.sqrt((xc * yc) + (xc * yc));
            return radius;
            }
            {
            theta = Math.Atan(yc / xc) * ANGLES_FROM_RADIANS;
            return theta;
        }
    }

    //method prologue
    static double Output (double radius, double theta)
    {
        Console.WriteLine("For your polar coordinates:");
        Console.WriteLine("Distance from the origin: {0:f}", radius);
        Console.WriteLine("The angle (in degrees) from the x-axis is: {0:f3}", theta);
    }   

        Console.ReadLine();

    }//End Main()
    }//End class Program

3 个答案:

答案 0 :(得分:4)

最后一个大括号是额外的配偶。这个 -

}//End Main()

同样为什么上次Console.ReadLine();misplaced。它不应该在任何方法范围内吗?

修改

我不知道你的代码想要做什么。它包含大量errorsintent of code也不清楚。这段代码正在编译 -

class Program
    {
        //declare constant
        const double ANGLES_FROM_RADIANS = 57.295779513082323;

        static void shdg()
        {
            //declare vairiables
            double xc = 0.0;
            double yc = 0.0;
            double radius = 0.0;
            double theta = 0.0;
        }

        //method prologue
        static void GetUserInput(ref double xc, ref double yc)
        {
            xc = 0;
            yc = 0;
            while (xc == 0)
            {
                Console.WriteLine("Please enter a possitive, non-zero value for the  x-ccordinate   of a point.");
                xc = int.Parse(Console.ReadLine());
                if (xc <= 0)
                {
                    Console.WriteLine("Error, x must be greater than zero.");
                }
            }
            Console.WriteLine("Please enter a possitive value for the y-coordinate of a point.");
            yc = int.Parse(Console.ReadLine());

            Console.WriteLine("Your Coordinates are ({0},{1})", xc, yc);
        }

        //method prologue
        static double CalcCoords(double xc, double yc, ref double radius, ref double theta)
        {
            {
                radius = Math.Sqrt((xc * yc) + (xc * yc));
                return radius;
            }
            {
                theta = Math.Atan(yc / xc) * ANGLES_FROM_RADIANS;
                return theta;
            }
        }

        //method prologue
        static void Output(double radius, double theta)
        {
            Console.WriteLine("For your polar coordinates:");
            Console.WriteLine("Distance from the origin: {0:f}", radius);
            Console.WriteLine("The angle (in degrees) from the x-axis is: {0:f3}", theta);
        }
    }//End class Program

答案 1 :(得分:2)

额外的最后一个大括号}//End Main()

答案 2 :(得分:0)

main methodmethod不包含class或其他方法

class包含一个main方法(该应用的入口点)或/和多个methods

此外,您的//call methods无效......您必须传递值或变量。