vb高手解释一下这段代码,每句的含义!
这只是开头的一部分代码,由于很长,就先解释这一部分吧!尤其是那句带&的,还有有j.w的那部分,详细解释一下乘号部分就行!Dimb(1To100)AsIntegerDima...
这只是开头的一部分代码,由于很长,就先解释这一部分吧!尤其是那句带& 的,还有有j.w的那部分,详细解释一下乘号部分就行!
Dim b(1 To 100) As Integer
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
t1 = Text1.Text
t1 = Trim(t1)
While InStr(1, t1, "*") > 0 '乘法 开始
t = t1
t = Trim(t)
For i = 1 To Len(t) '01
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t))
End If
Next '01
j = 0
w = 0
For i = 2 To Len(t) '02
If Mid(t, i, 1) = "*" Then
j = j + 1
b(j) = i
If w = 0 Then
w = j
End If
End If
If Mid(t, i, 1) = "/" Then
j = j + 1
b(j) = i
End If
If Mid(t, i, 1) = "+" Then
j = j + 1
b(j) = i
End If
If Mid(t, i, 1) = "-" Then
j = j + 1
b(j) = i
End If
其中的j.w分别是什么,解释清楚一点;
还有这句
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) 展开
Dim b(1 To 100) As Integer
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
t1 = Text1.Text
t1 = Trim(t1)
While InStr(1, t1, "*") > 0 '乘法 开始
t = t1
t = Trim(t)
For i = 1 To Len(t) '01
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t))
End If
Next '01
j = 0
w = 0
For i = 2 To Len(t) '02
If Mid(t, i, 1) = "*" Then
j = j + 1
b(j) = i
If w = 0 Then
w = j
End If
End If
If Mid(t, i, 1) = "/" Then
j = j + 1
b(j) = i
End If
If Mid(t, i, 1) = "+" Then
j = j + 1
b(j) = i
End If
If Mid(t, i, 1) = "-" Then
j = j + 1
b(j) = i
End If
其中的j.w分别是什么,解释清楚一点;
还有这句
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) 展开
2个回答
展开全部
Dim b(1 To 100) As Integer '声明b数组的下标是从1开始 如果只是b(100) 则默认是 从b(0)开始
Dim a(1 To 100) As Integer '声明a数组的下标是从1开始 如果只是a(100) 则默认是 从a(0)开始
Private Sub Command1_Click() '按钮1的点击过程
t1 = Text1.Text '变量t1等于text1.text中的内中
t1 = Trim(t1) 'Trim(t1) 的作用是去掉t1中两端的空格
While InStr(1, t1, "*") > 0 '从t1第1个字符起找出*出现的位置
t = t1 '给t赋值,变量t等于t1
t = Trim(t) 'Trim(t) 的作用是去掉t中两端的空格
For i = 1 To Len(t) '开始循环,从i=1开始一直循环到Len(t)返回的长度值
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
'上句由t的第i的当前值个字符读起,读取后面的1个字符是 “(” 并且由t的第i的当前值+1个字符读起,读取后面的1个字符是“-”或者
'由t的第i的当前值个字符读起,读取后面的1个字符是 “(” 并且由t的第i的当前值+1个字符读起,读取后面的1个字符是“+”就执行下面的语句
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) '给t赋值为由t的第i的当前值个字符读起,读取后面的1个字符再加上一个字符1再加上
'由t的第i的当前值+2个字符读起,读取后面的Len(t)返回的数值个字符
End If
Next ' 继续循环i
j = 0 '变量j的初始值为0
w = 0 '变量j的初始值为0
For i = 2 To Len(t) ''开始循环,从i=2开始一直循环到Len(t)返回的长度值
If Mid(t, i, 1) = "*" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"*"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为1
b(j) = i '由于上句的代码执行完毕,所以b数组的第1个成员等于i的值
If w = 0 Then '如果w=0
w = j '那么w=j
End If
End If
If Mid(t, i, 1) = "/" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"/"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
If Mid(t, i, 1) = "+" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"+"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
If Mid(t, i, 1) = "-" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"+"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
楼主你看着给分吧,辛苦死我了。楼主。。。
Dim a(1 To 100) As Integer '声明a数组的下标是从1开始 如果只是a(100) 则默认是 从a(0)开始
Private Sub Command1_Click() '按钮1的点击过程
t1 = Text1.Text '变量t1等于text1.text中的内中
t1 = Trim(t1) 'Trim(t1) 的作用是去掉t1中两端的空格
While InStr(1, t1, "*") > 0 '从t1第1个字符起找出*出现的位置
t = t1 '给t赋值,变量t等于t1
t = Trim(t) 'Trim(t) 的作用是去掉t中两端的空格
For i = 1 To Len(t) '开始循环,从i=1开始一直循环到Len(t)返回的长度值
If Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "-" Or Mid(t, i, 1) = "(" And Mid(t, i + 1, 1) = "+" Then
'上句由t的第i的当前值个字符读起,读取后面的1个字符是 “(” 并且由t的第i的当前值+1个字符读起,读取后面的1个字符是“-”或者
'由t的第i的当前值个字符读起,读取后面的1个字符是 “(” 并且由t的第i的当前值+1个字符读起,读取后面的1个字符是“+”就执行下面的语句
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) '给t赋值为由t的第i的当前值个字符读起,读取后面的1个字符再加上一个字符1再加上
'由t的第i的当前值+2个字符读起,读取后面的Len(t)返回的数值个字符
End If
Next ' 继续循环i
j = 0 '变量j的初始值为0
w = 0 '变量j的初始值为0
For i = 2 To Len(t) ''开始循环,从i=2开始一直循环到Len(t)返回的长度值
If Mid(t, i, 1) = "*" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"*"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为1
b(j) = i '由于上句的代码执行完毕,所以b数组的第1个成员等于i的值
If w = 0 Then '如果w=0
w = j '那么w=j
End If
End If
If Mid(t, i, 1) = "/" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"/"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
If Mid(t, i, 1) = "+" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"+"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
If Mid(t, i, 1) = "-" Then '如果由t的第i的当前值个字符读起,读取后面的1个字符是"+"则执行下面的命令
j = j + 1 'j累加,这行代码执行完毕j的值为当前j值加1
b(j) = i '由于上句的代码执行完毕,所以b数组的第j个成员等于i的值
End If
楼主你看着给分吧,辛苦死我了。楼主。。。
追问
兄弟, t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) 这句,举个例子,执行出来是什么
比如t=1+2-(+3,执行出来是1+2-(13 是这样么,感觉不对,如果例子有问题你帮我举一个吧! 还有,j.w出现后下边那段*/+-总体作用是什么呢?兄弟麻烦啦!
有兴趣的话看下这个http://zhidao.baidu.com/question/286054746.html
这是接在下面的,多帮帮忙啊,一定给高分!
追答
t = Mid(t, 1, i) & 1 & Mid(t, i + 2, Len(t)) 这句给t赋值为由t的第1的当前值个字符读起,读取后面的i的当前值个字符再加上一个字符1再加上由t的第i的当前值+2个字符读起,读取到后面len(t)函数返回的数值个字符。比如Mid(t, 1, i)取得值是"qwe",Mid(t, i + 2, Len(t)) 取的值是"asd"那么这句话整体就是 qwe1asd。j.w出现后下边那段*/+-是判定作用,要是判定田间符合就执行下面的代码。我总觉得你这代码有问题,一点用都没有。
你这个后面的和这些代码很异样,你看着一起翻译就行,基本就是一样的
2011-06-30
展开全部
这个问题提问的好 把我难住了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询