2017-11-04 441 views
-2

我正在編寫一個C#程序,如果number <= 20打印爲「true」,而使用while循環的number > 20打印出「false」,但程序仍在執行。使用while語句打破循環

我想打破程序,如果它達到一定的數字,例如number > 26

該程序的代碼是:

public static void Main() 
{ 
    Console.WriteLine("Please enter a number"); 
    int numnber = Convert.ToInt32(Console.ReadLine()); 

    while (numnber <= 20) 
    { 
     Console.WriteLine("True"); 
     Console.ReadLine(); 
     int number1 = numnber++; 

     while (numnber > 20) 
     { 
      Console.WriteLine("False"); 
      Console.ReadLine(); 
     } 

    } 
} 
+0

嘗試使用'numnber ++遞減或遞增''numnber;' –

+0

只需添加一個突破;當需要時 – Krishna

+1

=))很有趣,你的內心'while'真的會陷入你的'數字',等待它增加,通過價值'20'和繁榮!然後它會被困在那裏,而不能跳出去。 –

回答

0

你可以使用break;試試這個:

 Console.WriteLine("Please enter a number"); 
     int numnber = Convert.ToInt32(Console.ReadLine()); 

     while (numnber <= 20) 
     { 
      Console.WriteLine("True"); 
      Console.ReadLine(); 
      int number1 = numnber++; 

      while (numnber > 20) 
      { 
       Console.WriteLine("False"); 
       Console.ReadLine(); 
      } 
      break; 
     } 

但這編程都不好,因爲你打破循環畢竟這個簡單地你可以使用if else這樣..

 Console.WriteLine("Please enter a number"); 
     int numnber = Convert.ToInt32(Console.ReadLine()); 

     if(numnber <= 20) 
     { 
      Console.WriteLine("True"); 
     } 
     else 
     { 
      Console.WriteLine("False"); 
     } 
+0

這不是一個好的答案。爲什麼要開始一個循環,如果你確信你會在一次迭代中突破它。 – CodingYoshi

+0

是的...這就是爲什麼我寫評論說,沒有必要使用循環....並編輯我的答案太 –

0

根據您的描述,您的主要問題應該是

程序將繼續執行,

但是,它不會達到26 @King景提及。 它卡在while的內部,應該用if條件代替。

最後,如果你要執行的是數至少檢查一次就可以使用do while

do 
{ 
    if (numnber <= 20) 
    { 
     Console.WriteLine("True"); 
    } 
    else if (numnber > 20) 
    { 
     Console.WriteLine("False"); 
    } 

    numnber++; 

    Console.WriteLine("number: {0}", numnber); 

} while (numnber < 26); 

Console.ReadLine(); 
0

謝謝大家,但解決問題的方法會。代碼如下:

`public static void Main() { int number; 做 Console.WriteLine(「請輸入一個數字」); number = Convert.ToInt32(Console.ReadLine());

  do 
      { 

       Console.WriteLine("True value. True value is supplied"); 
       Console.ReadLine(); 
       number++; 

       while (number >= 21 && number < 27) 
       { 
        Console.WriteLine("False value. False value is supplied"); 
        Console.ReadLine(); 
        number++; 
       } 

      } while (number <= 20); 
     } while (number > 27); 
    }` 
+1

看到[this](http://stackoverflow.com/editing-help)瞭解如何使用代碼塊。 –

0
/*Your question isn't clear enough. if your case is to print true or false for given condition until the number is less the user entered value you can use this... You can change the while loops condition according to your criteria*/ 

     public static void Main() 
     { 
      Console.WriteLine("Please enter a number"); 
      int numnber = Convert.ToInt32(Console.ReadLine()); 
      while (numnber < 26) 
      { 
       if (numnber <= 20) 
       { 
        Console.WriteLine("true"); 


       } 
       else 
       { 
        Console.WriteLine("false"); 
       } 
       numnber++; 
      } 
     }