生成随机数
本文关键字:随机数 | 更新日期: 2023-09-27 18:07:23
我试图根据用户输入生成随机数。如果用户输入10,那么我想生成10个随机数。我正在从文本框中获取用户输入。
private void GenerateRandomNumber()
{
int count = 1;
//Int32.TryParse(GeneratetextBox.Text, out UserNumber);
UserNumber = Convert.ToInt32(GeneratetextBox.Text);
///creates random object to produce random values
Random randomNumbers = new Random();
while (count == UserNumber)
{
//UserNumber = randomNumbers.Next(100);
listBox.Items.Add(randomNumbers.Next(100));
count = count + 1;
}
//for ( count = UserNumber; count == UserNumber; count++)
//{
// UserNumber = randomNumbers.Next(100);
// listBox.Items.Add(randomNumbers.Next(100));
// count = count + 1;
//}
}
试试生成随机数:
private void GenerateRandomNumber()
{
int userNumber= Convert.ToInt32(GeneratetextBox.Text);
Random randomNumbers = new Random();
// loop until i is not les than userNumber
for (int i = 0; i < userNumber; i++){
// generate random number and add it to the list.
int randNumber= randomNumbers.Next(100);
listBox.Items.Add(randNumber);
}
}
private void button1_Click(object sender, EventArgs e)
{
// clear listbox before generating new numbers
listBox.Items.Clear();
GenerateRandomNumber();
}
如果你用一个按钮触发这个方法,不要忘记在生成新的随机数之前清除你的列表框。
当count与UserNumber不同时,while循环停止,因此由于您初始化了count = 1,因此如果您希望while中的代码执行,则需要让UserNumber = 1。
所以,你需要修正while条件:
private void GenerateRandomNumber(){
int count = 1;
//Int32.TryParse(GeneratetextBox.Text, out UserNumber);
UserNumber = Convert.ToInt32(GeneratetextBox.Text);
///creates random object to produce random values
Random randomNumbers = new Random();
while (count <= UserNumber)
{
//UserNumber = randomNumbers.Next(100);
listBox.Items.Add(randomNumbers.Next(100));
count = count + 1;
}
//for ( count = UserNumber; count == UserNumber; count++)
//{
// UserNumber = randomNumbers.Next(100);
// listBox.Items.Add(randomNumbers.Next(100));
// count = count + 1;
//}
}
这样,当UserNumber大于count时,while内的代码将停止执行,这正是您正在寻找的。