只有分配,呼叫,增量

时间:2015-02-26 17:59:37

标签: c#

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)我不知道我做错了什么。错误消息显示

  

仅分配,调用,增量,减量,等待和新对象   表达式可以用作语句。

3 个答案:

答案 0 :(得分:9)

else语句不能将条件应用于它们,它们只是在同一&#34;块&#34;中的每个ifelse 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。另外,使用{}定义ifelse部分的范围。

所以你的代码应该是这样的:

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.TryParseTryParse方法组进行解析,因为在解析失败的情况下它们不会引发异常,例如:

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();

标记答案