C# 通过命令行从用户获取数据
我希望有人在我的代码中输入长度和宽度的值,以下是我目前得到的结果:C# 通过命令行从用户获取数据,c#,command-line,C#,Command Line,我希望有人在我的代码中输入长度和宽度的值,以下是我目前得到的结果: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Rectangle { double length; double wid
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Rectangle
{
double length;
double width;
double a;
static double Main(string[] args)
{
length = Console.Read();
width = Console.Read();
}
public void Acceptdetails()
{
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}
class ExecuteRectangle
{
public void Main()
{
Rectangle r = new Rectangle();
r.Display();
Console.ReadLine();
}
}
}
尝试使用两种
Main
方法是否是错误的方法?这是我从中复制的代码,我正在尝试对其进行修改,以获得更多使用这种编程语言的经验。在这种情况下,您必须告诉编译器,它是具有入口点的类
如果您的编译包含多个带有Main方法的类型,您可以指定哪个类型包含要用作程序入口点的Main方法
是的,有两个主要方法是令人困惑和毫无意义的。在这种情况下,您必须告诉编译器,它是具有入口点的类 如果您的编译包含多个带有Main方法的类型,您可以指定哪个类型包含要用作程序入口点的Main方法
是的,有两种主要方法是令人困惑和毫无意义的。您的代码有一些问题,让我们分析一下:
class Rectangle
{
double length;
double width;
double a;
public void GetValues()
{
length = double.Parse(Console.ReadLine());
width = double.Parse(Console.ReadLine());
}
public void Acceptdetails()
{
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}
class ExecuteRectangle
{
public static void Main(string[] args)
{
Rectangle r = new Rectangle();
r.GetValues();
r.Display();
Console.ReadLine();
}
}
您的代码存在一些问题,让我们分析一下:
class Rectangle
{
double length;
double width;
double a;
public void GetValues()
{
length = double.Parse(Console.ReadLine());
width = double.Parse(Console.ReadLine());
}
public void Acceptdetails()
{
}
public double GetArea()
{
return length * width;
}
public void Display()
{
Console.WriteLine("Length: {0}", length);
Console.WriteLine("Width: {0}", width);
Console.WriteLine("Area: {0}", GetArea());
}
}
class ExecuteRectangle
{
public static void Main(string[] args)
{
Rectangle r = new Rectangle();
r.GetValues();
r.Display();
Console.ReadLine();
}
}
Console.Read
返回1个字符,而不是期望的整数(或双精度)值。阅读一些关于控制台.ReadLine
,double.Parse
的文档,与您的示例不同,这个类是静态的,所以创建长度、宽度等静态变量。没有理由让多个方法命名为main。将main更改为static int main(string[]args),并在底部放置一个返回0。Console.Read
返回1个字符,而不是期望的整数(或双精度)值。阅读一些关于控制台.ReadLine
,double.Parse
的文档,与您的示例不同,这个类是静态的,所以创建长度、宽度等静态变量。没有理由让多个方法命名为main。将main更改为static int main(字符串[]args),并在底部放置一个返回0。我已经指定了要使用的main方法。我仍然收到一个错误。'ConsoleApplication2.Rectangle'没有合适的静态Main方法Main必须返回void,而不是double。'ConsoleApplication2.Rectangle.Main(string[])的入口点签名错误。它必须是:静态void Main(string[]args)我已经指定了要使用的主方法。我仍然收到一个错误。'ConsoleApplication2.Rectangle'没有合适的静态Main方法Main必须返回void,而不是double。'ConsoleApplication2.Rectangle.Main(string[])的入口点签名错误它必须是:静态void Main(string[]args)查看我的代码我将其中一个Main重命名为更合适的名称(GetValues)。您的程序必须有一个定义为公共静态void Main(字符串[]args)的入口点,该入口点是程序在执行时调用的第一个方法。查看我的代码,我将其中一个Main重命名为更合适的名称(GetValues)。您的程序必须有一个定义为公共静态void Main(字符串[]args)的入口点,该入口点是程序执行时调用的第一个方法。