从同一文本框获取第二个输入

时间:2015-10-07 17:27:34

标签: c# random do-while

我在C#类中,我们的任务是创建一个随机数生成器并让用户猜出数字。一旦用户猜测该程序告诉用户它是否太高或太低,然后允许他们修改他们的猜测。它还跟踪用户完成的猜测次数。

我的问题是,在第一次运行之后,它将不允许用户输入新的猜测。它要么保留第一个条目,要么我清除条目说它是无效输入。任何和所有的帮助表示赞赏。因为这是一个家庭作业,我需要使用某些元素,例如try catch,以及重复循环,例如for循环或do while循环。谢谢你的帮助。

private void Guess_btn_Click(object sender, EventArgs e)
{
    try
    {
        Random random = new Random();
        int Answer = random.Next(0, 99);
        int User_Guess = 0;
        int Guess_num = 0;

        do
        {
            User_Guess = int.Parse(Guess_txtbx.Text);
            Guess_num++;
            if (User_Guess < Answer)
            {
                MessageBox.Show("Your answer is too low, try again.");
                Guess_txtbx.Clear();
                Guess_txtbx.Focus();
                User_Guess = int.Parse(Guess_txtbx.Text);
            }
            else if (User_Guess > Answer)
            {
                MessageBox.Show("Your answer is too high, try again.");
                Guess_txtbx.Clear();
                Guess_txtbx.Focus();
                User_Guess = int.Parse(Guess_txtbx.Text);
            }
            else
            {
                MessageBox.Show("Your answer is correct! It took you " + Guess_num + "number of guesses.");
            }
        } while (User_Guess != Answer);
    }
    catch (Exception ex)
    {
        //Display error message
        MessageBox.Show(ex.Message);
    }
}

1 个答案:

答案 0 :(得分:0)

你使用&#39; do-while&#39;在click事件处理程序中循环,它会阻止UI线程和挂起整个应用程序。

你可以使用这样的东西

MultipartEntityBuilder.create()
            .setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
            .addBinaryBody("file", inputStream)
            .build();

}

我检查了我的代码。它始终运行和执行。您在代码中又犯了一个错误:您在click事件处理程序中写入随机数生成的用户点击按钮然后您总是拥有不同的数字而用户无法猜出正确的数字。