2016-04-28 119 views
-1

我有一个问题,一个if-else语句(注意:我非常缺乏经验与编程)C#中的if else语句

using System; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int number; 

      Console.WriteLine("Please enter a number between 0 and 10:"); 
      number = int.Parse(Console.ReadLine()); 

      if(number > 10) 
       Console.WriteLine("Hey! The number should be 10 or less!"); 
      else 
       if(number < 0) 
        Console.WriteLine("Hey! The number should be 0 or more!"); 
       else 
        Console.WriteLine("Good job!"); 

      Console.ReadLine(); 
     } 
    } 
} 

我使用单声道编译。我得到这些错误:

testif.txt(10,11):警告CS0642:可能误以为空语句

testif.txt(13,9):错误CS1525:意外的符号`别人的

+0

问题出在testif.txt而不是你在这里发布的代码中,当你有多行if-else时也使用大括号 – Jamaxack

+0

当你有多行if和else时,你必须使用大括号: use { }第一个其他人 –

+5

这段代码没有任何问题。 – shadow

回答

1

here

你需要一条线else if

if(number > 10) 
    Console.WriteLine("Hey! The number should be 10 or less!"); 
else if(number < 0) 
    Console.WriteLine("Hey! The number should be 0 or more!"); 
else 
    Console.WriteLine("Good job!"); 

或者使用{}

if(number > 10) 
    Console.WriteLine("Hey! The number should be 10 or less!"); 
else 
{ 
    if(number < 0) 
     Console.WriteLine("Hey! The number should be 0 or more!"); 
    else 
     Console.WriteLine("Good job!"); 
} 
+0

Upvote为第一个解决方案。 – shadow

+2

这不会回答问题,因为问题中的代码已经完全正常工作。 – Enigmativity

+1

您的第一个“解决方案”重复提问者已有的相同代码,只有空白区别不同。正如C#编译器所见,这是同一个程序。你知道Mono编译器是否发布了提交者声称的警告,并且你知道如果你只改变了空白(如上),Mono编译器是否忽略了这些警告?我没有Mono在这里。 –

0
Console.WriteLine("Please enter a number between 0 and 10:"); 
    number = int.Parse(Console.ReadLine()); 

    if (number =< 10 && number => 0) 
     Console.WriteLine("Good job!"); 
    else 
     Console.WriteLine("The number needs to be between 0 and 10"); 

    Console.ReadLine(); 

此代码妳。 & &签名检查是否在它之前和之后站立。如果它是真的,它会进入那里。 然后else语句取0-10之外的所有情况。

为什么你的代码不工作是你检查少于10个女巫的作品,但是然后你做一个else语句没有括号{}如果你希望它运行在else语句中,你需要围绕你的代码。这就是你得到你的错误的原因。

如果在语句后只有一行代码,则不使用括号。就像我的代码一样。

+0

与原始代码相比,这改变了功能。这并不能解释为什么原始代码不应该好。 –

+0

这是我的第一个解决方案,所以即时通讯有点新。谢谢你的提示 –