下标怎么打越界怎么解决

VB下标越界怎么办_百度知道
VB下标越界怎么办
做的是选择text1中数,去掉最大最小求平均 但是运行时一直说下标越界 求大神解答Private Sub Command2_Click()Dim a() As String, i As Integera = Split(Text1.Text, & ,&)For i = 1 To 8If a(i) & a(i + 1) ThenMax = a(i)ElseMax = a(i + 1)End IfNext iFor i = 1 To 8If a(i) & a(i + 1) ThenMin = a(i)ElseMin = a(i + 1)End IfNext is = Val(a(1)) + Val(a(2)) + Val(a(3)) + Val(a(4)) + Val(a(5)) + Val(a(6)) + Val(a(7)) + Val(a(8)) - Val(a(Max)) - Val(a(Min))t = s / 6Text2.Text = tEnd Sub
提问者采纳
如果你坚持用你的代码,可以将For i = 1 To 8
这句改成 for i =1 to ubound(a)-1,两处都改。也可以优化如下:Private Sub Command2_Click()Dim a() As String, i As Integer,s as integera = Split(Text1.Text, & ,&)min=a(0): max=a(0):s=0For i = 0 To ubound(a)if a(i)&max then max=a(i)if a(i)&min then min=a(I)s=s +a(i)Next it =(s-min-max) / (ubound(a)-1)Text2.Text = tEnd Sub
试了一下显示min=a(0) 下标越界了又....肿么办
运行过了没问题,你的是VB6?发现个错误,min和max要定义为数值型,不然判断大小会错误
对的 我的是VB6.0 那要怎么改呢
VB6就没问题了,我运行过了
提问者评价
其他类似问题
按默认排序
其他1条回答
数组没定义大小。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下标越界怎么解决 急
MicrosoftScript运行时错误错误'800a0009'下标越界:'[ ]'/bbs/Default.Asp,行169代码如下&lt%ClassCls_BrowserPublicBrowser,version,platform,IsSearchPrivateSubClass_Initialize()DimAgent,TmpstrAgent=Request.ServerVariables(&HTTP_USER_AGENT&)'Agent=&Opera/7.23(X11;Linuxi686;U)[en]&IfLeft(Agent,7)=&Mozilla&ThenAgent=Split(Agent,&;&)IfInStr(Agent(1),&MSIE&)&gt0ThenBrowser=&InternetExplorer&version=Trim(Left(Replace(Agent(1),&MSIE&,&&),6))ElseIfInStr(Agent(4),&Netscape&)&gt0ThenBrowser=&Netscape&tmpstr=Split(Agent(4),&/&)version=tmpstr(UBound(tmpstr))ElseIfInStr(Agent(4),&rv:&)&gt0ThenBrowser=&Mozilla&tmpstr=Split(Agent(4),&:&)version=tmpstr(UBound(tmpstr))IfInStr(version,&)&)&gt0Thentmpstr=Split(version,&)&)version=tmpstr(0)EndIfEndIfIfInStr(Agent(2),&NT6.0&)&gt0Thenplatform=&Windowsvista&ElseIfInStr(Agent(2),&NT5.2&)&gt0Thenplatform=&Windows2003&ElseIfInStr(Agent(2),&WindowsCE&)&gt0Thenplatform=&WindowsCE&ElseIfInStr(Agent(2),&NT5.1&)&gt0Thenplatform=&WindowsXP&ElseIfInStr(Agent(2),&NT4.0&)&gt0Thenplatform=&WindowsNT&ElseIfInStr(Agent(2),&NT5.0&)&gt0Thenplatform=&Windows2000&ElseIfInStr(Agent(2),&NT&)&gt0Thenplatform=&WindowsNT&ElseIfInStr(Agent(2),&9x&)&gt0Thenplatform=&WindowsME&ElseIfInStr(Agent(2),&98&)&gt0Thenplatform=&Windows98&ElseIfInStr(Agent(2),&95&)&gt0Thenplatform=&Windows95&ElseIfInStr(Agent(2),&Win32&)&gt0Thenplatform=&Win32&ElseIfInStr(Agent(2),&Linux&)&gt0Thenplatform=&Linux&ElseIfInStr(Agent(2),&SunOS&)&gt0Thenplatform=&SunOS&ElseIfInStr(Agent(2),&Mac&)&gt0Thenplatform=&Mac&ElseIfUBound(Agent)&gt2ThenIfInStr(Agent(3),&NT5.1&)&gt0Thenplatform=&WindowsXP&EndIfIfInStr(Agent(3),&Linux&)&gt0Thenplatform=&Linux&EndIfEndIfIfInStr(Agent(2),&Windows&)&gt0Andplatform=&unknown&Thenplatform=&Windows&EndIfElseIfLeft(Agent,5)=&Opera&ThenAgent=Split(Agent,&/&)Browser=&Mozilla&tmpstr=Split(Agent(1),&&)version=tmpstr(0)IfInStr(Agent(1),&NT6.0&)&gt0Thenplatform=&Windowsvista&ElseIfInStr(Agent(1),&NT5.2&)&gt0Thenplatform=&Windows2003&ElseIfInStr(Agent(1),&WindowsCE&)&gt0Thenplatform=&WindowsCE&ElseIfInStr(Agent(1),&NT5.1&)&gt0Thenplatform=&WindowsXP&ElseIfInStr(Agent(1),&NT4.0&)&gt0Thenplatform=&WindowsNT&ElseIfInStr(Agent(1),&NT5.0&)&gt0Thenplatform=&Windows2000&ElseIfInStr(Agent(1),&NT&)&gt0Thenplatform=&WindowsNT&ElseIfInStr(Agent(1),&9x&)&gt0Thenplatform=&WindowsME&ElseIfInStr(Agent(1),&98&)&gt0Thenplatform=&Windows98&ElseIfInStr(Agent(1),&95&)&gt0Thenplatform=&Windows95&ElseIfInStr(Agent(1),&Win32&)&gt0Thenplatform=&Win32&ElseIfInStr(Agent(1),
暂时还没有相关回答,请再等等吧!
您的举报已经提交成功,我们将尽快处理,谢谢!下标越界怎么解决_百度知道
下标越界怎么解决
提问者采纳
下标越界大多是针对数组来说的。比如你定义的数组的长度是10。那么你的数组里就有10个元素,他们的小标分别是从0--9。如果下标大于9了,这就叫下标越界了。解决的方法:可以把数组的大小定义的大一点,在使用数组里的元素的时候,别让它的小标超过规定值。希望对你有用
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 下标怎么打 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信