随机操作员视觉基础

时间:2016-05-09 07:29:27

标签: vb.net operators

我希望我的程序(visual basic)随机选择时间(*)或除(/),以便在程序后面的等式中用作运算符。我还没有开始,因为这是变量的声明。感谢。

1 个答案:

答案 0 :(得分:0)

您没有提供任何代码,因此可以有许多解决方案。你只有两个操作员,所以我认为最好的方法就是使用条件。基础知识是使用Random类,IfCase

代码可能如下所示:

Function DoSomeOperation(ByVal a As Double, ByVal b As Double, Optional ByRef op As String = "") As Double
    Dim rnd As New Random()
    Select Case rnd.Next(0, 2)
        Case 1
            op = "/"
            Return a / b
        Case Else
            op = "*"
            Return a * b
    End Select
End Function

此代码将返回操作结果,以及op参数中使用的操作。 rnd.Next(0, 2)语句返回01(因为maxValue 2是独占上限)。

*在现实生活中,您应该检查结果是否超过Double限制,并执行try..catch

在控制台应用中使用功能的示例:

    Dim a As Double = 8
    Dim b As Double = 2
    Dim op As String = ""
    Dim result As Double = DoSomeOperation(a, b, op)
    Console.WriteLine(String.Format("{0} {1} {2} = {3}", a, op, b, result))
    Console.ReadKey()
    'Output: 8 * 2 = 16 or 8 / 2 = 4

加成

要回答@WickedJDG评论,如果您希望在1到12之间随机选择ab,则可以使用此功能:

Function DoSomeRandomOperation(Optional ByRef a As Double = 0, Optional ByRef b As Double = 0, Optional ByRef op As String = "") As Double
    Dim rnd As New Random()
    a = rnd.Next(1, 13)
    b = rnd.Next(1, 13)
    Select Case rnd.Next(0, 2)
        Case 1
            op = "/"
            Return a / b
        Case Else
            op = "*"
            Return a * b
    End Select
End Function