簡體   English   中英

如何在 C# 中進行 when 循環等待輸入

[英]How can I make a when loop wait for input in C#

我一直在開發一個加密貨幣市場模擬控制台應用程序。 我有一段代碼應該要求用戶輸入他們想要購買的硬幣數量,然后重復(在用戶輸入后)只要“maxcoins”變量的值大於 0。運行這會導致一個無限循環,不允許用戶輸入任何內容。 我嘗試使用 Console.ReadKey() 來打破有效的循環,但仍然不允許用戶輸入任何內容,因為一旦輸入字符,循環就會重復。 我試過谷歌,但這對我來說太具體了,無法找到任何有用的答案。 拜托 go 對我來說輕松我對編程還是很陌生!

我的代碼從這里開始,但由於某種原因,前幾行不會 go 進入代碼框。

int input = 0;

string inputst;
       
int maxcoins = 100;
        
while (maxcoins > 0)
{
           
  //Tried Console.ReadKey(); here.
        
        Console.WriteLine("Type a key number to show what you want to buy");
        Console.WriteLine("Key Numbers: Monke Coin 1 | Buy None 00 |");
        Console.WriteLine("You can buy " + maxcoins + " more coins this turn");



            if (input == 1)
            {

                Console.WriteLine("How Much Monke Coin Do you want to buy? Enter number 0-" + maxcoins);
                inputst = Console.ReadLine();
                input = Convert.ToInt32(inputst);
                maxcoins = (maxcoins - input);
                Console.WriteLine("" + maxcoins);
            }
         
            
        }

您的input變量永遠不會等於 1,因為您沒有在循環開始時讀取它。 添加以下行:

Console.WriteLine("You can buy " + maxcoins + " more coins this turn");
input = Convert.ToInt32(Console.ReadLine());

它會做你需要的。

你需要在你的 if 之前得到輸入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM