我正在为一个简单程序编写的代码遇到一些麻烦。我收到大量错误,说“无效令牌”。
该程序基本上要求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
}
答案 0 :(得分:4)
这是不正确的:
static enum Display(a,b)
{
double c = a + b;
return c;
}
enum keyword用于声明枚举。为了定义方法,您需要一个有效的返回类型(例如int
或double
),并且您需要为各个参数提供正确的类型。如果您希望它是静态方法,您可以选择添加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;
}