扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
要弄清楚这两个问题,就要明白For循环语句的语法规则:
创新互联专注于企业成都全网营销、网站重做改版、大柴旦网站定制设计、自适应品牌网站建设、H5场景定制、商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为大柴旦等各大城市提供网站开发制作服务。
For循环语句,首先是判断循环条件,如果循环条件不合理,则循环不执行。
那么看第一个语句,循环范围是 i = -3.5 to 5.5,显然这个是一个从-3.5到5.5的递增范围,可是后面的Step却是一个负数,表示以0.5的步长递减。取值范围要求从小到大,可是步长改变却是由大变小,显然这个循环条件自相矛盾,所以循环将不会执行,也就是循环执行的次数是0次!
如果循环条件合理,则开始执行循环语句,直到根据步长变换,下一个值超出循环范围则终止。
For j = 6 to 2 Step -2
Next
完整写法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一个j值。结合本题,下一个j值等于6-2=4,这个时候,就是循环语句的第二个规则,判断循环变量的值是否超出循环范围,我们这里的j=4,显然是在6 to 2这个范围之内,所以循环继续,到下一个j的时候为2,依然在循环范围内;到这里,6,4,2我们的循环执行了3次,准备第4次循环的时候j = 2 -2 = 0超过了6 to 2这个范围,那么循环终止。
所以i循环内的每一个j循环将执行3次。
你确信只循环一次吗?我看不像,在最后添加上一句msgbox jishu1,多半显示3。
是在第二块代码中有问题,你应该把chaxun4 = xlsheet.Range("l1").Value + 2分别放到两个条件句中初始chaxun4变量。
因为上一个Do Until atmbianhaop = xlsheet.Range("B" chaxun4).Value 循环退出后,下一个循环一开始就符合退出条件了,所以循环没有进行了。
dim i
for i=2 to 1
msgbox("*")
next
语法没问题,这应该在winform里面能够调试成功,显示运行框,但是在web application里面就不能出现弹出信息框了,在网页上要出现,建议用response.write("scriptalert('***')/script").
for i=100 to 1 这样的语句在VB9.0后是支持的。楼下的,不要天天抱着VB6啃。
你先新建一个控制台应用程序,然后全部复制就行了,用 Ctrl + F5 调试
Module Module1
Sub Main()
Dim temp As String = "*"
Dim i, j As Short
For i = 1 To 5 Step +2
For j = 1 To i
Console.Write("{0} ", temp)
Next j
Console.WriteLine("")
Next i
Console.ReadLine()
End Sub
End Module
其实你这样不就好了
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As String = "*" vbCrLf "* * *" vbCrLf "* * * * *"
MessageBox.Show(a)
End Sub
多方便
'假设数组如下
dim d(10) as integer
dim i as integer
for i=lbound(d) to ubound(d)
d(i) = i
next i
'数组各元素之和
dim S as integer = 0
for i=lbound(d) to ubound(d)
s = s + d(i)
next i
msgbox(s)
我写了一段代码,注意你读取的方法,我改进了一下 Imports System.IO ‘代码窗体的最上端一定要声明
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReader Dim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Then sr = New StreamReader("c:\save\" i ".ini", System.Text.Encoding.Default) ’注意选择编码方式,按你原来的方法,未设置编码,显示的是乱码!路径请按你的情况改! TextBox.Text = sr.ReadToEnd()
i += 1 End If
Next
MsgBox("已经载入" i - 1 "个文件") End Sub注意:这样的代码是倒序的,第一个文本框显示的是最后一个文件的内容!请酌情处理!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流