[英]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.