2016-04-28 110 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

這是我的第一個解決方案,所以即時通訊有點新。謝謝你的提示 –