Do循環(huán)由Do和Loop構(gòu)成,但如果只有Do和Loop的話將不停地執(zhí)行Do和Loop之間的語句塊,所以需要使用可選的關(guān)鍵字While或Until以及Eixt Do來指定循環(huán)的條件以及退出循環(huán).\x0d\x0a關(guān)鍵字While是指當(dāng)條件為True時(shí)執(zhí)行循環(huán),而Until則是在條件變?yōu)門rue之前重復(fù),就你的例子來說,用關(guān)鍵字Until給出了X=-1這個(gè)條件,意思就是在X=-1這個(gè)條件不成立的時(shí)候循環(huán)一直重復(fù)執(zhí)行,直到X=-1這個(gè)條件成立了,則結(jié)束循環(huán).\x0d\x0a下面是詳細(xì)的例句解析:\x0d\x0aDo循環(huán)在使用關(guān)鍵字While或Until的時(shí)候有兩種寫法,一種是放在開頭,一種是放在結(jié)尾,而Eixt Do則是插在循環(huán)體內(nèi)語句塊的任何地方,,用來在需要的時(shí)候退出循環(huán).\x0d\x0a關(guān)鍵字While或Until的兩種寫法見如下格式:\x0d\x0a[第一種]\x0d\x0aDo While(或Until) 條件 '關(guān)鍵字和條件放在開頭\x0d\x0a語句塊\x0d\x0aLoop\x0d\x0a這種格式是用關(guān)鍵字While指定的條件為True時(shí)執(zhí)行循環(huán),或用Until在指定的條件變?yōu)門rue之前重復(fù)執(zhí)行循環(huán).\x0d\x0a[第二種]\x0d\x0aDo\x0d\x0a語句塊\x0d\x0aLoop While(或Until) 條件 '關(guān)鍵字和條件放在結(jié)尾\x0d\x0a這種格式是不管條件是否成立,都先執(zhí)行一次循環(huán),然后再判斷條件來決定是否繼續(xù)循環(huán).\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)
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的湯陰網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
回答于?2022-12-11
你確信只循環(huán)一次嗎?我看不像,在最后添加上一句msgbox jishu1,多半顯示3。
是在第二塊代碼中有問題,你應(yīng)該把chaxun4 = xlsheet.Range("l1").Value + 2分別放到兩個(gè)條件句中初始chaxun4變量。
因?yàn)樯弦粋€(gè)Do Until atmbianhaop = xlsheet.Range("B" chaxun4).Value 循環(huán)退出后,下一個(gè)循環(huán)一開始就符合退出條件了,所以循環(huán)沒有進(jìn)行了。
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
各有不同作用,有的先處理再判斷,有的先判斷再處理
首先在窗體上畫兩個(gè)控件:TextBox1和Button1
TextBox1用來輸入需要計(jì)算那個(gè)數(shù)的階乘
雙擊Button1進(jìn)入輸入代碼,代碼如下
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim Factorial As Integer = 1 '定義一個(gè)變量用來記錄階乘的結(jié)果
Dim count As Integer '定義一個(gè)變量用來記錄需要計(jì)算那個(gè)數(shù)的階乘
Dim i As Integer = 1 '定義一個(gè)數(shù)用來循環(huán)
count = Int(Val(Me.TextBox1.Text)) '把TextBox1的值賦值給count
Do While i = count '下面開始計(jì)算階乘
Factorial = Factorial * i '計(jì)算階乘
i += 1 '自增1
Loop
MessageBox.Show(Int(Val(Me.TextBox1.Text)) "的階乘是:" Factorial, "完成", MessageBoxButtons.OK) '彈出計(jì)算結(jié)果
Catch ex As Exception '出錯(cuò)提示
MessageBox.Show(Err.Description, "出錯(cuò)了", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
回答了,別重復(fù)提問了
dim i%,jx#
i=1
jx=1
do while i=10
jx=jx*i
i=i+1
loop
print jx