Do循环由Do和Loop构成,但如果只有Do和Loop的话将不停地执行Do和Loop之间的语句块,所以需要使用可选的关键字While或Until以及Eixt Do来指定循环的条件以及退出循环.\x0d\x0a关键字While是指当条件为True时执行循环,而Until则是在条件变为True之前重复,就你的例子来说,用关键字Until给出了X=-1这个条件,意思就是在X=-1这个条件不成立的时候循环一直重复执行,直到X=-1这个条件成立了,则结束循环.\x0d\x0a下面是详细的例句解析:\x0d\x0aDo循环在使用关键字While或Until的时候有两种写法,一种是放在开头,一种是放在结尾,而Eixt Do则是插在循环体内语句块的任何地方,,用来在需要的时候退出循环.\x0d\x0a关键字While或Until的两种写法见如下格式:\x0d\x0a[第一种]\x0d\x0aDo While(或Until) 条件 '关键字和条件放在开头\x0d\x0a语句块\x0d\x0aLoop\x0d\x0a这种格式是用关键字While指定的条件为True时执行循环,或用Until在指定的条件变为True之前重复执行循环.\x0d\x0a[第二种]\x0d\x0aDo\x0d\x0a语句块\x0d\x0aLoop While(或Until) 条件 '关键字和条件放在结尾\x0d\x0a这种格式是不管条件是否成立,都先执行一次循环,然后再判断条件来决定是否继续循环.\x0d\x0aDo\x0d\x0a If (a * i ^ 2 + b * i + c) * (a * m ^ 2 + b * m + c) 0 Then\x0d\x0a i = m\x0d\x0a End If\x0d\x0aLoop Until Abs(i - s)
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的汤阴网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
回答于 2022-12-11
你确信只循环一次吗?我看不像,在最后添加上一句msgbox jishu1,多半显示3。
是在第二块代码中有问题,你应该把chaxun4 = xlsheet.Range("l1").Value + 2分别放到两个条件句中初始chaxun4变量。
因为上一个Do Until atmbianhaop = xlsheet.Range("B" chaxun4).Value 循环退出后,下一个循环一开始就符合退出条件了,所以循环没有进行了。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sum As Integer = 0
Dim i As Integer = 0
Do
i = i + 1
sum = sum + i
Loop Until sum 6000
MsgBox(i)
Debug.Print(sum)
End Sub
do ... loop
do while ... loop
do until ... loop
do ... loop while
do ... loop until
各有不同作用,有的先处理再判断,有的先判断再处理
首先在窗体上画两个控件:TextBox1和Button1
TextBox1用来输入需要计算那个数的阶乘
双击Button1进入输入代码,代码如下
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim Factorial As Integer = 1 '定义一个变量用来记录阶乘的结果
Dim count As Integer '定义一个变量用来记录需要计算那个数的阶乘
Dim i As Integer = 1 '定义一个数用来循环
count = Int(Val(Me.TextBox1.Text)) '把TextBox1的值赋值给count
Do While i = count '下面开始计算阶乘
Factorial = Factorial * i '计算阶乘
i += 1 '自增1
Loop
MessageBox.Show(Int(Val(Me.TextBox1.Text)) "的阶乘是:" Factorial, "完成", MessageBoxButtons.OK) '弹出计算结果
Catch ex As Exception '出错提示
MessageBox.Show(Err.Description, "出错了", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
回答了,别重复提问了
dim i%,jx#
i=1
jx=1
do while i=10
jx=jx*i
i=i+1
loop
print jx