关于vb的问题

我做了一个判断2、3、5、7的倍数的软件可出现了如下问题请问怎么修改代码:PrivateSubCommand1_Click()DimaAsCurrencya=Val(Te... 我做了一个判断2、3、5、7的倍数的软件
可出现了如下问题请问怎么修改
代码:
Private Sub Command1_Click()
Dim a As Currency
a = Val(Text1.Text)
If a Mod 2 = 0 Then
Text2.Text = "Ture"
ElseIf a Mod 2 <> 0 Then
Text2.Text = "False"
ElseIf a Mod 3 = 0 Then
Text3.Text = "Ture"
ElseIf a Mod 3 <> 0 Then
Text3.Text = "False"
ElseIf a Mod 5 = 0 Then
Text4.Text = "Ture"
ElseIf a Mod 5 <> 0 Then
Text4.Text = "False"
ElseIf a Mod 7 = 0 Then
Text5.Text = "Ture"
ElseIf a Mod 7 <> 0 Then
Text5.Text = "False"
ElseIf a <= 0 Then
MsgBox "请输入正整数", vbCritical
Else
MsgBox "未知类型" & vbCrLf & "请重新输入!", vbCritical, "提示"
End If
End Sub

可它只显示2的倍数,是怎么回事
展开
 我来答
百度网友00e0b84
2014-09-07 · TA获得超过483个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:465万
展开全部
elseif 是并列结构,只要有一个符合就行了。所以最开始,要么是2的倍数,要么不是,就执行完了。后面的代码不执行。改成4个if end if的单独的结构就可以了
就会更加分
推荐于2016-09-27 · 超过27用户采纳过TA的回答
知道答主
回答量:118
采纳率:0%
帮助的人:62.7万
展开全部
因为你2,3,5,7的倍数嵌套起来了,要分开看的。
If (a mod 2)=0 then
text1.text="True"

else
text1.text="False"
end if
If (a mod 3)=0 then
text2.text="True"

else
text2.text="False"
end if
If (a mod 5)=0 then
text3.text="True"

else
text3.text="False"
end if

If (a mod 7)=0 then
text4.text="True"

else
text4.text="False"
end if
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式