Did*_*idy 4 vb.net visual-studio-2010 visual-studio-2012
我不知道为什么这个程序不起作用.我得到一个随机数,计算机选择什么类型的偶数或奇数?
Dim a As New Random()
Dim b As Integer
Dim ca As Integer
b = a.Next(0, 10)
Debug.Print(b)
ca = b / 2
If ca = 0 Then
Debug.Print("Even")
Else
Debug.Print("Odd")
End If
Run Code Online (Sandbox Code Playgroud)
Mar*_*rco 13
你弄乱了你的经营者.
您使用除法/,但您想使用模运算符Mod.
请注意:在C#中它是%.在VB.Net中它是Mod
参考:http://msdn.microsoft.com/en-us/library/se0w9esz(v = vs.100).aspx
Dim a As New Random()
Dim b As Integer
Dim ca As Integer
b = a.Next(0, 10)
Debug.Print(b)
ca = b Mod 2
If ca = 0 Then
Debug.Print("Even")
Else
Debug.Print("Odd")
End If
Run Code Online (Sandbox Code Playgroud)
为什么你的代码没有按预期工作:罪魁祸首确实是你的if语句.您正在检查结果是否b / 2为0.但是只有当b它为0时才能为真.每个大于0的数字除以一半大于零.
您的代码看起来像是要检查除法的其余部分,因此使用模运算符的解决方案.
您也可以检查低位,如果它是在数字是奇数,如果它是关闭数字是偶数.使用功能:
Dim a As New Random()
Dim b As Integer
b = a.Next(0, 10)
Debug.WriteLine(b)
If isEven(b) Then
Debug.WriteLine("even")
Else
Debug.WriteLine("odd")
End If
Private Function isEven(numToCheck As Integer) As Boolean
Return (numToCheck And 1) = 0
End Function
Run Code Online (Sandbox Code Playgroud)
编辑:可能比mod快但未检查.
| 归档时间: |
|
| 查看次数: |
39921 次 |
| 最近记录: |