首页 > 解决方案 > 如何一直提示输入直到它有效?

问题描述

我试图做到这一点,所以当给定的答案既不是 1 也不是 2 时,消息“请输入有效答案”。出现并回到问题。

这是我的代码:

Coloration(ConsoleColor.DarkMagenta, "What do you want to do? [1/2]");
Console.WriteLine("1. Draw");
Console.WriteLine("2. Stay");
int i = 0;
string input1 = Console.ReadLine();
// If answer is not 2, go through this, if answer is 2 continue
if (input1 != "2")
{
    // If answer is 1 add 1 to i
    if (input1 == "1")
    {
        i++;
    }

    // If answer is neither 1 nor 2; go back to question
    if (input1 != "1" || input1 != "2")
    {
        Coloration(ConsoleColor.Red, "Please enter a valid answer.");
    }
}

标签: c#

解决方案


你想要更多这样的东西......

        Console.WriteLine("What do you want to do? [1/2]");
        Console.WriteLine("1. Draw");
        Console.WriteLine("2. Stay");

        int userChoice = 0;
        bool validInput = false;

        while (!validInput)
        {
            Console.WriteLine();
            Console.WriteLine("Enter choice [1/2]...");
            string input = Console.ReadLine();
            string trimmedInput = input.Trim();

            if (trimmedInput == "1" || trimmedInput == "2")
            {
                validInput = true;
                userChoice = Int32.Parse(trimmedInput);
            }
        }
        // We leave the while loop here once validInput == true
        // Now take action based on userChoice

        Console.WriteLine("You chose " + userChoice);
        Console.ReadLine();

推荐阅读