vb程序设计实例100的示例性实施例 。图1是根据本发明的一个实施例的计算机系统的框图 。图2是根据本发明的一个实施例的计算机系统的框图 。
一:vb程序设计实例100分类:电脑IT
四、数组中常见错误和注意事项
1.静态数组声明下标出现变量
n = InputBox("输入数组的上界")
Dim a(1 To n) As Integer
2.数组下标越界
引用的下标比数组声明时的下标范围大或小 。
Dim a(1 To 30) As Long, I as integer
a(1) = 1: a(2) = 1
For i = 3 To 30
a(i) = a(i - 2) + a(i - 1)
Next I
3.数组维数错
数组声明时的维数与引用数组元素时的维数不一致 。
Dim a(3, 5) As Long
a(I)=10
4.Aarry函数使用问题
只能对Variant 的变量或动态数组赋值 。
5.获得数组的上界、下界
UBound 、Lbound函数
1.Dim数组声明
有时用户为了程序的通用性,声明数组的上界用变量来表示,如下程序段:
n=InputBox("输入数组的上界")
Dim a(1 To n)As Integer
程序运行时将在Dim语句处显示"要求常数表达式"的出错信息 。即Dim语句中声明的数组上、下界必须是常数,不能是变量 。
解决程序通用的问题,一是将数组声明的很大,这样浪费一些存储空间;二是利用动态数组,将上例改变如下:
Dim a()As Integer
n=InputBox ("输入数组的上界")
ReDim a(1 To n) As Integer
2.数组下标越界
引用了不存在的数组元素,即下标比数组声明时的下标范围大或小 。例如,要形成有如下30项的斐波那契数列:
1,1,2,3,5,8,13,21,34,…,317811,514229,832040
正确的程序段如下:
Dim a(1 To 30) As Long, i%
若将For i=3 To 30改为For i=1 To 30,程序运行时会显示"下标越界"的出错信息,因为开始循环时i=l,执行到循环体语句a(i)=a(i-2)+a(i-1),数组下标i-2、i-1均小于下界1 。
同样若将上例:a(i)=a(i-2)+a(i-1)语句改为:a(i+2)=a(i)+a(i+1) 。
程序运行时也会显示"下标越界"的出错信息,这时是数组下标大于上界30 。
3.数组维数错
数组声明时的维数与引用数组元素时的维数不一致 。例如,下程序段为形成和显示3×5的矩阵:
Dim a(3,5) As Long
For i=1 To 3
For j=1 To 5
a(i)=i*j
Print a(i);"";
Next j
Print
Next i
程序运行到a(i)=i*j语句时出现"维数错误"的信息,因为在Dim声明时是二维数组,引用时的一个下标 。
4.Array函数使用问题
Array函数可方便地对数组整体赋值,但此时只能声明Variant的变量或仅由括号括起的动态数组 。赋值后的数组大小由赋值的个数决定 。
例如,要将1,2,3,4,5,6,7这些值赋值给数组a,表2.5.1列出了三种错误及相应正确的赋值 ***。
表2.5.1Array函数表示 ***
错误的Array函数赋值
改正的Aarry函数赋值
Dim a(1 To 8)
a=Array(1,2,3,4,5,6,7,8)
Dim a( ) a=Array(1,2,3,4,5,6,7)
Dim a As Integer a=Array(1,2,3,4,5,6,7)
Dim a a=Array(1,2,3,4,5,6,7)
Dim a
a()=Array(1,2,3,4,5,6,7)
Dim a a=Array(1,2,3,4,5,6,7)
5.如何获得数组的上界、下界
Array函数可方便地对数组整体赋值,但在程序中如何获得数组的-上界、下界,以保证访问的数组元素在合法的范围内,可使用UBound和LBound函数来决定数组访问 。
在上例中,若要打印a数组的各个值,可通过下面程序段实现:
For i=Lbound(A) To Ubound(A)
Print a(i)
Next i
6.给数组赋值
VB6.0提供了可对数组整体赋值的新功能,方便了数组对数组的赋值操作 。但真正使用不那么方便,有不少限制 。数组赋值形式如下:
- 高德地图怎么测距?高德地图测距图文教程
- 战士爆破职业BD玩法图文教程 恐怖黎明爆破者技能加点
- comodo防火墙怎么样使用 comodo防火墙设置教程
- 微视应援榜位置在哪?微视应援榜查看教程解答!
- 人人直播怎么玩?人人直播app玩法教程
- 对于孕晚期的孕妈来说要做哪些准备,哪些待产包更实用?
- 中华好少年怎么使用?中华好少年app使用教程
- 38周的新手宝妈如何准备入院待产包?有哪些实用清单值得推荐?
- 产后妈妈认为有哪些待产用品是最实用的?
- 待产包最全清单都有哪些?预产期在11月份,该如何准备实用的所需物品?
