求vb大神们帮忙找一下错误,谢谢

题目:检查表达式输入中圆括号配对问题。要求对文本框输入的算术表达式,检验其圆括号配对情况,并给出相应信息,如图所示。当单击“重置”按钮,清除文本框输入的内容、窗体显示的信... 题目:检查表达式输入中圆括号配对问题。要求对文本框输入的算术表达式,检验其圆括号配对情况,并给出相应信息,如图所示。当单击“重置”按钮,清除文本框输入的内容、窗体显示的信息和计算,并对窗体级变量赋初值零,便于再次输入和统计。

我的答案如下,但是是错误的,又不知道哪里错了,求大神给指正一下,谢谢:
Dim x!, y!Private Sub Command1_Click()
Text1.Text = ""ClsEnd Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)x = 0y = 0If Chr(KeyAscii) <> "=" Then If Chr(KeyAscii) = "(" Then x = x + 1 End If If Chr(KeyAscii) = ")" Then y = y + 1 End If Else If x = y Then Print "括号配对成功" Else If x > y Then Print "左括号多于右括号一个,按“重置”按钮,重新输入" End If If x < y Then Print "右括号多于左括号一个,按“重置”按钮,重新输入" End If End IfEnd IfEnd Sub
那个,我写得可能不是很好,请见谅,望指正,谢谢
展开
 我来答
然后去远足
2014-06-03 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2383万
展开全部
如果你要把判断放在 Text1_KeyPress() 里,那么需要在最前面加上一行 Cls,否则你每按一次键都会在窗体上打印一行字出来。

另外 x = 0, y = 0 应该放在 Command1_Click(),否则也是每按一次键就清零了,这是不对的。

还有就是没有考虑退格键、Delete键,这里 x、y 只累加了,却不会减少。
听不清啊
高粉答主

2014-06-03 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
已经改好了:
Dim x!, y!
Private Sub Command1_Click()
Text1.Text = ""
x = 0 ‘移了位置’
y = 0
Cls
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) <> "=" Then
If Chr(KeyAscii) = "(" Then
x = x + 1
End If
If Chr(KeyAscii) = ")" Then
y = y + 1
End If

Else
If x = y Then
Print "括号配对成功"; x; y
Else
If x > y Then ‘修改了,不一定是一个
Print "左括号多于右括号 " & x - y & " 个,按“重置”按钮,重新输入"
End If
If x < y Then
Print "右括号多于左括号 " & y - x & " 个,按“重置”按钮,重新输入"
End If
End If
End If
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式