如何将文本框值设置为数组中的元素数

时间:2016-06-02 13:20:46

标签: vb.net

我在高中时所以我是初学者,但我正在创建一个程序来计算用户在文本框中滚动所选值的概率,在另一个文本框中,他们需要把他们想要掷骰子的次数,问题是,无论我做什么,它一次只输出1个数字,这是我的代码到目前为止

Public Class Form1

   Private Sub cmdGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGenerate.Click

    ' Initialize the random-number generator.
       Dim strOutput As String
       Dim intCounter As Integer
       Dim intArray(txtFirst.Text) As Integer
       Dim Random As Integer

       For intCounter = 1 To Val(txtFirst.Text)
           Randomize()
           Random = Int(Rnd() * 6) + 1

           intArray(intCounter) = Random
           strOutput = intArray(txtFirst.Text)

       Next intCounter

      txtSequence.Text = strOutput + txtSequence.Text
   End Sub
End Class

3 个答案:

答案 0 :(得分:1)

每次迭代循环都会覆盖strOutput的值:

strOutput = intArray(txtFirst.Text)

因此,当您向用户显示时,它将只有最后一个值:

txtSequence.Text = strOutput + txtSequence.Text

也许您打算追加到strOutput而不是?:

strOutput = strOutput + intArray(txtFirst.Text)

或者将最后一行(已经附加)放在循环中?:

    strOutput = intArray(txtFirst.Text)
    txtSequence.Text = strOutput + txtSequence.Text
Next intCounter

可能有许多不同的解决方案。考虑这是一个很好的机会,让您熟悉在调试器中单步执行代码。在那里,您可以逐行观察运行时值和行为,并具体了解该行为与预期的不同之处。

答案 1 :(得分:1)

由于您的所有数字都存储在数组中,因此您不需要strOutput。 join函数将连接数组的所有项。

txtSequence.Text = String.Join(",", intArray)

此外,您不需要使用str / int启动变量。

答案 2 :(得分:-1)

我相信这符合您的需求:

Textbox.Text = CStr(intArray.Length)