枚举的令牌错误无效

时间:2010-09-27 23:25:21

标签: c#

我正在为一个简单程序编写的代码遇到一些麻烦。我收到大量错误,说“无效令牌”。

该程序基本上要求2个整数并将它们相加,但程序需要用另一种方法调用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AustinPDangeloJPA03
{
    class Add
    {
        static void Main(string[] args)
        {
            double num1,
                   num2,
                   sum;

            Console.Write("Enter the First integer: ");
            num1 = int.Parse(Console.ReadLine());
            //First Integer entered and storred 
            Console.Write("Enter the Second integer: ");
            num2 = int.Parse(Console.ReadLine());
            //Second Integer entered and storred
            sum = Display(double a, double b);
            //First and second numbers added together

            Console.WriteLine(" {0} + {1} = {2} ",num1,num2,sum); 
            //displays the sum

            //Instructs the user to press the Enter key to end the program
            Console.WriteLine("Press the Enter key to terminate the program...");
            Console.ReadLine();

            }//Closes Main Method

        static enum Display(a,b)
        {
            double c = a + b;
            return c;
        }//closes display method

    }//Closes Class Add
}

5 个答案:

答案 0 :(得分:4)

这是不正确的:

static enum Display(a,b)
{
    double c = a + b;
    return c;

 }

enum keyword用于声明枚举。为了定义方法,您需要一个有效的返回类型(例如intdouble),并且您需要为各个参数提供正确的类型。如果您希望它是静态方法,您可以选择添加static,但这取决于其用途。

我怀疑你想要使用更像的东西:

 double Add(double a, double b)
 {
     // ...

如果您更正了调用此方法的行:

 sum = Display(double a, double b);

这应该编译并给你你期望的。

答案 1 :(得分:1)

您的Display方法未正确声明。

您需要声明一个带两个数字并返回第三个数字的方法 有关如何声明方法以及使用哪种类型的更多信息,请参阅教科书和作业。

你也没有正确地称呼它;方法调用不带类型。

答案 2 :(得分:0)

虽然它不是您错误的来源,但它确实表明对类型的误解:

double num1, num2,sum;
[...]
num1 = int.Parse(Console.ReadLine());

第一行声明了一些double个变量 第二行尝试解析int个变量。

虽然int会自动转换为double,但如果与代码的使用一致,您的代码会更好。您应该切换到int类型,或Double.Parse()

答案 3 :(得分:0)

enum关键字用于创建枚举,例如:

public enum Color { Red, Green, Blue };

您必须将数据类型指定为Display方法的返回类型,以及参数的数据类型:

static double Display(double a, double b) {
  double c = a + b;
  return c;
}

此外,调用方法时不指定数据类型,因此请将其更改为:

sum = Display(a, b);

答案 4 :(得分:0)

将此行更改为:

    double sum = Display(num1, num2);

并将您的Display方法更改为方法。

    private static double Display(double a, double b)
    {
        double c = a + b;
        return c;
    }