double number;
string message;
Console.WriteLine("Welcome and enter a number.");
number = double.Parse(Console.ReadLine());
if (number < 0)
message = "Your number is Negative";
else
(number > = 0)
message = "Your number is Positive";
Console.WriteLine(message);
Console.ReadLine();
我正在为学校的课程制作这个课程,我收到错误的一行:(数字&gt; = 0)我不知道我做错了什么。错误消息显示
仅分配,调用,增量,减量,等待和新对象 表达式可以用作语句。
答案 0 :(得分:9)
else
语句不能将条件应用于它们,它们只是在同一&#34;块&#34;中的每个if
和else if
运行。没有跑。
因此,您的条件表达式没有意义,并且作为语句读取(不是)。
只需让else
else if
来修复错误:
else if(number >= 0)
message = "Your number is Positive";
或者只删除条件,因为不小于0的数字必须大于或等于0.
else
message = "Your number is Positive";
答案 1 :(得分:2)
在if
的其他部分中,您不能有条件。实际上你完全不需要它。由于这是导致错误的原因,因此将else (number > = 0)
更改为else
。另外,使用{}
定义if
和else
部分的范围。
所以你的代码应该是这样的:
double number;
string message = null;
Console.WriteLine("Welcome and enter a number.");
number = double.Parse(Console.ReadLine());
if (number < 0)
{
message = "Your number is Negative";
}
else
{
message = "Your number is Positive";
}
Console.WriteLine(message);
Console.ReadLine();
如果您希望多个语句成为{}
或if
块的一部分,那么 else
将非常有用/必需。对于单一陈述而言,这是可选的,但可能是一种很好的做法,IMO。
您还应该查找double.TryParse
或TryParse
方法组进行解析,因为在解析失败的情况下它们不会引发异常,例如:
if (!double.TryParse(Console.ReadLine(), out number))
{
Console.WriteLine("Invalid number");
return;// early exit or use a loop to ask again
}
答案 2 :(得分:0)
学生也将学习==签名
double number;
string message = "";
Console.WriteLine("Welcome and enter a number.");
number = double.Parse(Console.ReadLine());
if (number < 0)
{
message = "Your number is Negative";
}
else if(number == 0)
{
message = "Your number is Zero";
}
else
{
message = "Your number is Positive";
}
Console.WriteLine(message);
Console.ReadLine();
标记答案