vb.net产生随机,VB随机生成

vb.net怎样生成随机数

Dim a As Integer = CInt(Int((9999 - 1000 + 1) * Rnd() + 1000))

成都创新互联公司长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为翁牛特企业提供专业的网站制作、网站建设,翁牛特网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

注:randomvalue = CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound))

这里,upperbound 是此范围内最大的数,lowerbound 是此范围内最小的数。

vb.net中产生三位正整数的随机数的程序写法

'项目:VB中产生在一定正整数范围内的不重复的随机数'作者:qq15495835Private Sub Command1_Click() Max = 100 '随机数上限值 Min = 1 '随机数下限值 Amount = 10 '产生号码数量(数量值应小于随机数上限值-随机数下限值)否则会产生死循环 ReDim a(Amount) Randomize For i = 0 To Amount a(i) = Int((Max - Min + 1) * Rnd + Min) For j = 0 To i If i j And a(i) = a(j) Then i = i - 1 Next Next Text1 = Join(a, vbCrLf)End Sub'请采纳参考!谢谢!

vb.net随机产生英文字母的代码

1.随机产生英文字母

Randomize() '功 能:初始化随机数发生器

Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))

'Rnd 函数返回小于 1 但大于或等于 0 的值。

'0 = Rnd() * 26 26 是含小数位的数

'Int(Rnd() * 26) 转换为整型,就是0~25的随机数

'Asc("a") 得到a的ASCii数值,是整数97(A是65)

'a~z的ASCii为97~122 ,即为a~z之间的字母为97加(0~25)

'Asc("a") + Int(Rnd() * 26)为97到122的随机数

'Chr()又可以起到转换成字符的功能,Chr(97)表示a (a转换成数值又是Asc("a")=97)

'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的随机数了

Randomize() '再次初始化随机数发生器

Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '这里是A~Z的随机数

'也可以换这种写法

Randomize()

Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '这里是a~z的随机数

'这是在你知道ASCII码的情况之下(a~z为97~122,A~Z为65~90)

'Rnd()为0~0.9999999.....的随机数

' 26 * Rnd()为0~25.9999...的随机数

'Int((26 * Rnd())为0~25的随机数

'Int((26 * Rnd()) + 97)为97~122的随机数

'Chr(Int((26 * Rnd()) + 97))就是a~z的随机数了

Randomize()

Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数

'至于同时在一处随机大写或小写,ASCII码的数字又不挨在一起(65-90,97-122),比较麻烦。想写的话,你可以自己想一下怎么办

2.数字怎样转换成ASCII码所对应的字母

Chr()函数将数字转换成ASCII对应的字母,Asc()函数将字母根据ASCII表转换成数字

Chr(97)表示a (a转换成数值又是Asc("a")=97)

3.加到数组,你可以放在一个for循环里

比如

Dim arylst1 As New ArrayList

Dim arr1() As String '数组

Dim str1 As String

For i As Integer = 1 To 15 '比如我想要15个随机字母

Randomize()

str1 = Chr(Int((26 * Rnd()) + 65)) '这里是A~Z的随机数

arylst1.Add(str1)

Next

ReDim arr1(arylst1.Count - 1) '这里是为了比较动态,可以只改变 i 的范围来决定要多少个随机字母

'当然也可以写死,在前面直接定义为 arr1(14),下次要改的时候就要改定义的地方和i的范围,改两个地方

arylst1.CopyTo(arr1)

'就把数值拷贝到数组里面了

vb.net产生随机数

方法名称:next();功能描述:返回一个0~2147483647之间的整数

方法名称:next(i);功能描述:返回一个0~i之间的整数

方法名称:next(i,j);功能描述:返回一个i~j之间的整数

方法名称:Nextdouble();功能描述:返回一个0~1之间的随机小数

================

使用方法:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim rand = New System.Random()

MsgBox(rand.next().ToString())

End Sub

==========================

产生N个不同数的话,我给你个我写的VB的代码,你稍微改下:

产生0-10的数:

Private Sub Command1_Click()

Randomize

Dim a(10) As Long

n = 10

For i = 0 To n

a(i) = Int(Rnd() * (n + 1))

For j = 0 To i - 1

If a(i) = a(j) Then

i = i - 1

Exit For

End If

Next

Next

For i = 0 To n

Print a(i)

Next

End Sub

vb.net程序,利用随机函数产生100个1到100之间的整数,求其中的最大最小值。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Randomize() '产生随机数种子 以防止每次生成结果都一样

Dim a(100) As Integer '声明数组存放数据 用来保存随机数结果

Dim max As Integer, min As Integer '声明两个变量存最大值和最小值

min = 1000 : max = 0 '设置初值

For i = 0 To 99 '循环100次

a(i) = Int(Rnd() * 1000 + 1) '用rnd生成一个随机数 由于rnd范围为0-1之间的小数.所以*1000设置他的范围为0到999之间 加1变成1到1000之间

If a(i) = max Then max = a(i) '如果当前数值大于最大值的变量就保存

If a(i) = min Then min = a(i) '如果当前数值小于最小值的变量就保存

Next

MsgBox("最大值为" max)

MsgBox("最小值为" min)

End Sub


名称栏目:vb.net产生随机,VB随机生成
文章转载:http://scjbc.cn/article/hdppdi.html

其他资讯