将int数组拆分为两个数组偶数和奇数VBscript错误

将int数组拆分为两个数组偶数和奇数VBscript错误,vbscript,Vbscript,我已经为打印出来的数字数组编写了代码。我现在正在编写代码,将数组拆分为偶数和非偶数。我已经开始用if语句来分隔数字,但我正在努力找到解决方法。我下面的代码失败,因为它无法拆分数字 Sub main() a=Array(5,10,15,20) for each x in a Msgbox(x) If MyArray(I) / 2 = MyArray(I) List1.AddItem MyArray(I) ' Even Integers Else

我已经为打印出来的数字数组编写了代码。我现在正在编写代码,将数组拆分为偶数和非偶数。我已经开始用if语句来分隔数字,但我正在努力找到解决方法。我下面的代码失败,因为它无法拆分数字

Sub main()
    a=Array(5,10,15,20)
for each x in a
    Msgbox(x)

    If MyArray(I) / 2 = MyArray(I) 
        List1.AddItem MyArray(I) ' Even Integers
    Else
        List2.AddItem MyArray(I) ' Odd Integers
    End if
next


End Sub 

正如Lankymart所建议的,最简单的方法是使用
Mod()
并检查余数是1还是0,但也可以使用您似乎正在努力的方法:

If MyArray(index)/2 = Int(MyArray(index)/2) Then
    ' Even number
Else
    ' Odd number
End If
Mod()
方法:

If MyArray(index) Mod 2 = 0 Then
    ' Even number
Else
    ' Odd number
End If
下面是一个完整的子例程,它演示了您要执行的操作:

Dim arr(4) As Integer
Dim arrEven() As Integer
Dim iEvenValues As Integer
Dim arrOdd() As Integer
Dim iOddValues As Integer
Dim iCounter As Integer

' Initialize array
arr(0) = 5
arr(1) = 10
arr(2) = 15
arr(3) = 20

For iCounter = 1 To UBound(arr)

    If arr(iCounter - 1) Mod 2 = 0 Then
        iEvenValues = iEvenValues + 1
        ReDim Preserve arrEven(iEvenValues)
        arrEven(iEvenValues - 1) = arr(iCounter - 1)
    Else
        iOddValues = iOddValues + 1
        ReDim Preserve arrOdd(iOddValues)
        arrOdd(iOddValues - 1) = arr(iCounter - 1)
    End If
Next

Dim sValues As String
sValues = "Even values (" & iEvenValues & "):"
For iCounter = 1 To UBound(arrEven)
    sValues = sValues & " " & arrEven(iCounter - 1)
Next

MsgBox sValues

sValues = "Odd values (" & iOddValues & "):"
For iCounter = 1 To UBound(arrOdd)
    sValues = sValues & " " & arrOdd(iCounter - 1)
Next

MsgBox sValues

使用
Mod()。这是我到目前为止的代码,对于Msgbox(x)中的每个x,a=Array(5,10,15,20)如果MyArray(a)/2=Int(MyArray(a)/2),那么“偶数Else”奇数结束,如果我通过i=Array(5,10,15,20)的循环传递我的数组时出现不匹配错误,如果i mod 2=1,那么Msgbox(i&“是奇数的。
”)Else Msgbox(i&“是偶数。
”)如果无法通过数组,则结束