0

私は大学でC#を学んでいて、この乱数をテキストボックスに出力するのに苦労しているようです。私はこれ以前に言語を学んだことがないので、簡単な質問であればお詫びします。

ユーザーが指定した2つの異なる数字の間に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;

私は私がうまくいかないところのどんな提案にも大いに感謝するでしょう。答えがテキストボックスに表示されないようです。私は近くにいる必要があることを知っています。私は願います :)

よろしくお願いします。

4

6 に答える 6

1

ちなみに、これが私のやり方です

        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() 

特定の数値の文字列表現を取得します。

于 2012-10-24T19:02:52.710 に答える
1

あなたは十分に近いです。コードを最小限に編集すれば、次のようになります。

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);

コントロールを動的に追加する方法の詳細については、これを確認してください

于 2012-10-24T19:01:06.740 に答える
0

これを試して :

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());
}
于 2012-10-24T19:00:14.760 に答える
0

あなたは正しい方向に進んでいます。あなたが見逃しているのは、文字列をテキストボックスに割り当てることだけだと思います。別のテキストボックス(たとえばanswertxtbox)を配置し、ループの最後に次のように記述します。

answertxtbox.Text += txtboxanswer + ", ";
于 2012-10-24T19:01:03.560 に答える
0

Text単純に、のプロパティを結果に設定していませんTextBox

txtBoxName.Text= myString
于 2012-10-24T19:01:51.797 に答える
0

みんなが答えているようだから…

 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));

注:実際にはこの方法では行いませんが、同じ問題を解決する方法がたくさんあることを示しています。

于 2012-10-24T19:24:46.883 に答える