2016-10-06 27 views
0

我想試試if條件是如何工作的,所以我幾乎是自己創建了這個代碼。我也有隨機到int的問題。如何重新開始我的代碼? C#控制檯

這裏是我的代碼:

using System; 

namespace Bigger_Smaller_Equal 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int min = 1; 
      int max = 100; 

      Random rnd = new Random(); 
      int gen = rnd.Next(min, max); 
      Console.WriteLine("My Number is : " + gen + "!"); 
      Console.WriteLine("Tell me your number:"); 
      string typ = Console.ReadLine(); 
      int num = int.Parse(typ); 
      if (num == gen) 
      { 
       Console.WriteLine(num + " is Equal to " + gen); 

      } 
      else if (num > gen) 
      { 
       Console.WriteLine(num + " Is Bigger than " + gen); 
      } 
      else if (num < gen) 
      { 
       Console.WriteLine(num + " Is Smaller than " + gen); 
      } 
      Console.WriteLine("Press Any Key to exit."); 
      Console.ReadLine(); 
     } 
    } 
} 

如何使控制檯停止,因此它會允許我進入另一個號碼?

基本上是:

  1. 我寫了一個號碼,如果它告訴我它的小大於等於這是隨機生成的
  2. 後,我按回車鍵,而不是關閉數量將再次生成的控制檯數量和我可以寫新的號碼等等。
+2

你需要什麼是[循環](https://msdn.microsoft.com/en-us/library/f0e10e56(v = vs.90).aspx)。還檢查出[這](http://stackoverflow.com/questions/1754282/how-to-loop-a-console-app)的問題。 – bkaf

+0

不好的做法,但:'while(true){/ * yourcode * /}' – fubo

+0

@fubo爲什麼它是不好的做法? – FrankerZ

回答

0

您可以使用console.ReadKey()insted使用console.ReadLine()。 console.ReadLine()等待輸入字符集,這就是爲什麼你按下任何鍵後控制檯窗口在那裏。

+0

這不回答這個問題。 OP想知道如何導致代碼重複。換句話說,如何循環代碼。 –

0

您可以使用「do while」或「while」運算符。如果您不想使用while(true),可以使用這種不同的方式。我的意思是當用戶輸入0或-1時,該系統可以停止。而()

bool repeat = true; 
    do 
{ 
    Console.WriteLine("Enter value "); 
    string typ = Console.ReadLine(); 
    int num = int.Parse(typ); 
    if (num!=0) 
     // bla bla bla. 
    else 
     repeat = false; 
}while (repeat); 
+0

爲什麼你會引入一個布爾變量?簡單地'while(true){/ * code * /}'並使用'break;'退出循環? – FrankerZ

+0

這兩個答案都是真實的,但我認爲使用while(true)對於每個解決方案都是不正確的。在另一個方法可以使用這個布爾或另一個線程可以檢查這一點,但使用while(true)你不能訪問有關信息。 –

0

下面是使用轉到一個例子,雖然它是不推薦你可能最終會產生無限循環更復雜的應用。隨意試試吧

static void Main(string[] args) 
    { 
     int min = 1; 
     int max = 100; 

     Random rnd = new Random(); 

    again: 
     int gen = rnd.Next(min, max); 
     Console.WriteLine("My Number is : " + gen + "!"); 
     Console.WriteLine("Tell me your number:"); 
     string typ = Console.ReadLine(); 
     int num = int.Parse(typ); 
     if (num == gen) 
     { 
      Console.WriteLine(num + " is Equal to " + gen); 

     } 
     else if (num > gen) 
     { 
      Console.WriteLine(num + " Is Bigger than " + gen); 
     } 
     else if (num < gen) 
     { 
      Console.WriteLine(num + " Is Smaller than " + gen); 
     } 
    repeat: 
     Console.WriteLine("Play again? (Y/N)"); 
     string ans = Console.ReadLine(); 
     switch (ans.ToUpper()) 
     { 
      case "Y": goto again; break; 
      case "N": break; //continue 
      default: goto repeat; break; 
     } 
    } 
+1

主。他只是一個初學者。不要教他早點開始使用goto的。 – Jonesopolis

相關問題