1

我制作了一个程序,它生成随机数并将数字放在两个单独的标签中。如何使第一个标签中的数字大于第二个标签中的数字。

这是我生成随机数的代码:

Dim nRandom As Integer
Dim nRandom1 As Integer
Dim randomgenerator As New Random

'Displays random numbers from 1 to 10
nRandom = randomgenerator.Next(1, 11)
nRandom1 = randomgenerator.Next(1, 11)
'Displays random numbers on the first label
lblNum1.Text = Convert.ToString(nRandom)
'Displays random numbers on the second label
lblNum2.Text = Convert.ToString(nRandom1)

我想让第一个数字大于第二个数字,因为应该减去数字并且我试图避免得到否定的答案

该程序在 Windows 窗体应用程序 Visual Basic 上

4

2 回答 2

3

只需比较您生成的两个随机数。如果nRandom1大于nRandom,则分配nRandom1lblNum1nRandomlblNum2

If nRandom >= nRandom1 Then
    'nRandom is greater, put it in first textbox
    lblNum1.Text = Convert.ToString(nRandom)
    lblNum2.Text = Convert.ToString(nRandom1)
Else
    'nRandom1 is greater, put it in first textbox
    lblNum1.Text = Convert.ToString(nRandom1)
    lblNum2.Text = Convert.ToString(nRandom)
End If

第二种方法对数字进行置换,使 nRandom 始终大于或等于 nRandom1。

If nRandom1 > nRandom Then
    'Permute values
    Dim temp As Integer = nRandom
    nRandom = nRandom1
    nRandom1 = temp
End If
lblNum1.Text = Convert.ToString(nRandom)
lblNum2.Text = Convert.ToString(nRandom1)
于 2012-04-10T11:45:05.737 回答
2

计算第二个数字并nRandom1用作生成另一个数字的限制器。您已经使用minValue参数指定1为参数。

nRandom1 = randomgenerator.Next(1, 11)
nRandom = randomgenerator.Next(nRandom1 + 1, 11)

minValue是包容的,所以我们需要调整它,你应该调整它以检查nRandom1不超过最大值。

于 2012-04-10T11:43:30.987 回答