我的应用程序应该获得用户输入以及一些重复。
在验证为正数据后,它应在列表框中显示结果。
结果应该是输入的代表的短语#。
我知道我需要使用while循环,但我哪里出错了。以下是我到目前为止:
private void btnDisplay_Click(object sender, EventArgs e)
{
// Delcare variables
int Numberofreps;
int Count = 1;
string Phrase = txtPhrase.Text;
//Get the inputs
if (int.TryParse(txtNumberofreps.Text, out Numberofreps))
{
if (txtPhrase.Text == Phrase)
{
lstDisplay.Items.Add(txtPhrase.Text);
}
//Check to make sure its a positive value
while(Count >= 1)
{
//Display the number of reps
lstDisplay.Items.Add(txtPhrase.Text);
}
}
else
{
MessageBox.Show("Not a Positive Value");
}
答案 0 :(得分:0)
你有无限循环,因为你没有改变里面Count
的值。
我可能会将代码更改为:
private void btnDisplay_Click(object sender, EventArgs e)
{
// Delcare variables
int Numberofreps;
//Get the inputs
if (int.TryParse(txtNumberofreps.Text, out Numberofreps) && Numberofreps > 0)
// Note I've added a check that the Numberofreps is a positive integer.
{
while(Numberofreps > 0)
{
//Display the number of reps
lstDisplay.Items.Add(txtPhrase.Text);
Numberofreps--; // Note this line.
}
}
else
{
MessageBox.Show("Not a Positive Integer");
}
}
答案 1 :(得分:0)
我建议使用for
循环代替while
:
private void btnDisplay_Click(object sender, EventArgs e) {
int Numberofreps;
if (!int.TryParse(txtNumberofreps.Text, out Numberofreps))
MessageBox.Show("Not a integer Value");
else if (Numberofreps <= 0)
MessageBox.Show("Not a Positive Value");
else {
for (int i = 0; i < Numberofreps; ++i)
lstDisplay.Items.Add(txtPhrase.Text);
}
}
如果你坚持while
循环:
int i = 0;
while (i < Numberofreps) {
lstDisplay.Items.Add(txtPhrase.Text);
i += 1;
}