问题出在第23和25行。
n
我不知道如何进行从字符串到双精度的转换,以便程序从用户那里获取双精度数字。
我的编程老师曾经做过,但我忘了注意。
double r.length = Convert.ToDouble(Console.ReadLine());
double r.width = Convert.ToDouble(Console.ReadLine());
答案 0 :(得分:1)
除了阿米尔·阿巴比安(Amir Arbabian)在回答中所说的以外,还有另一个问题。 Rectangle.width
和Rectangle.length
的保护级别未指定,因此默认为私有。要使其可访问,请在length
的{{1}}和width
字段之前添加public关键字。
Rectangle
最后一件事是您在行上有一个额外的右括号(public double length;
public double width;
)
)
只需删除一个右括号即可删除该错误。并删除Amir Arbabian所说的double关键字。
另外,您需要最后double r.width = Convert.ToDouble(Console.ReadLine()));
做些什么?
答案 1 :(得分:1)
有几处要解决的问题:
ChoosenItems = new string[8]
Rectangle
和length
都应为width
public
和length
都应该是属性
width
{ get; set; }
和length
的名称均应大写,因为它们是属性
width
来为对象创建描述/字符串ToString()
ExecuteRectangle
中引用double
和r.length
时不需要r.width
关键字ExecuteRectangle
double.TryParse
答案 2 :(得分:0)
您必须将其写为
r.width = Convert.ToDouble(Console.ReadLine());
没有 double 关键字。 仅在声明某些内容时才使用类型,但是在这里,您只是将值分配给对象的字段。 希望有帮助。