189 8069 5689

vb.netuntil的简单介绍

vb.net利用doloop until 计算从1开始的素数之和直到和不大于989为止

Module Module1

创新互联公司IDC提供业务:多线BGP机房,成都服务器租用,多线BGP机房,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

Sub Main()

Dim sum As Integer = 0

Dim Bound As Integer = 989

Dim num As Integer = 0

Dim cprime As Integer = 0

Do

num += 1

If IsPrame(num) Then

sum += num

cprime = num

End If

Loop Until sum  Bound

Console.WriteLine(sum - cprime)

Console.ReadKey()

End Sub

'判断一个数是不是素数

Public Function IsPrame(ByVal num As Integer) As Boolean

If num = 1 Then Return False '素数的定义是大于1

For i = 2 To CType(Int(Math.Sqrt(num)), Integer)

If num Mod i = 0 Then Return False

Next

Return True

End Function

End Module

VB.NET有延时也会被卡死

Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似

解决方法:通过timer定时器延时

“vb”中“do”、“until”、“loop”的用法是什么?

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

vb.net 有没有终止某个语句的方法?

定义一个公有布尔值变量 flag,初始值 False。

循环里最开始 If 判断一下 flag,如果为 True 就 Exit Do 跳出循环,否则继续循环。

然后在别的函数控制 flag 的值就可以了。

P.S. 你这段代码是死循环,直到程序占用内存越来越大溢出进而程序崩溃为止……


分享名称:vb.netuntil的简单介绍
文章分享:http://cdxtjz.cn/article/hgggdi.html

其他资讯