我在高中时所以我是初学者,但我正在创建一个程序来计算用户在文本框中滚动所选值的概率,在另一个文本框中,他们需要把他们想要掷骰子的次数,问题是,无论我做什么,它一次只输出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
答案 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)