繁体   English   中英

我想在2个数字之间创建5个随机数,并显示在我的文本框中

[英]I want to create 5 random numbers between 2 numbers and display in my textbox

我刚刚在uni学习C#,似乎正在努力将这个随机数输出到文本框中。 如果这是一个简单的问题,我在此之前就已经学会了一种语言,所以道歉。

我想在用户指定的两个不同数字之间创建5个随机数。 然后将生成的5个数字打印到文本框中以显示它们。

private void button1_Click(object sender,EventArgs e){

        int firstnum = Int32.Parse(txtboxnum.Text);
        int secondnum = Int32.Parse(txtboxnum2.Text);


        Random random = new Random();
        int randomNumber = random.Next(firstnum, secondnum);

        Int32 loop = 0;
        do
        {
            loop++;
        }
        while (loop > 5);

        string myString = randomNumber.ToString();

       string  txtboxanswer = myString;

我会非常感谢任何我出错的建议。 因为我似乎无法得到答案出现在我的文本框中。 我知道我必须亲近。 我希望 :)

感谢您提前帮助。

你足够近了。 只需对代码进行最少的编辑,就应该是这样的

int firstnum = Int32.Parse(txtboxnum.Text);
    int secondnum = Int32.Parse(txtboxnum2.Text);


    Random random = new Random();


    Int32 loop = 0;
    do
    {
       int randomNumber = random.Next(firstnum, secondnum);
       string myString = randomNumber.ToString();
       TextBox t= new TextBox();
       t.Text=myString; 
       t.Left=0;t.Top=loop * 20;
       this.Controls.Add(t);

       loop++;
    }
    while (loop < 5);

有关动态添加控件的更多信息, 请检查此

顺便说一句,这就是我做的方式

        int firstnum = 0;
        int secondnum = 1;
        Random random = new Random();

        int[] randomnums = new int[5];

        for (int i = 0; i < randomnums.Length; i++)
        {
            randomnums[i] = random.Next(firstnum, secondnum);
        }

然后你可以做类似的事情

string myString = randomnums[1].ToString() 

获取特定数字的字符串表示形式。

尝试这个 :

Random rand = new Random();
for (int i = 0; i < 5; i++)
{
    int a = rand.Next(Min, Max);
    textBox1.Text =  textBox1.Text + string.Format(" {0} ", a.ToString());
}

你是在正确的轨道上,我认为你唯一缺少的是将字符串分配给文本框。 只需放置另一个文本框(让我们说answertxtbox)并在循环结束时写下以下内容:

answertxtbox.Text += txtboxanswer + ", ";

简单地说,您没有将TextBoxText属性设置为结果。

txtBoxName.Text= myString

只是因为每个人似乎都在回答......

 int firstnum = Int32.Parse(txtboxnum.Text);
 int secondnum = Int32.Parse(txtboxnum2.Text);
 Random random = new Random();

 List<int> results = new List<int>();
 for (int i =0; i < 5; i++)
 {
     results.Add(random.Next(firstnum, secondnum));
 }

 answertxtbox.Text = String.Join(",", Array.ConvertAll<int, String>(results.ToArray(), Convert.ToString));

注意:我实际上不会这样做,但它确实说明了解决同一问题的方法有很多种。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM