測試結果如圖所示?,F(xiàn)象與你說明的情況是一樣的。
創(chuàng)新互聯(lián)公司主營奇臺網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,APP應用開發(fā),奇臺h5微信小程序開發(fā)搭建,奇臺網(wǎng)站營銷推廣歡迎奇臺等地區(qū)企業(yè)咨詢
原因分析:你所聲明的數(shù)組a(4,1)實際上是a(0?to?4,?0?to?1)。在截圖下方的自動窗口欄可以看到,當程序運行完For循環(huán)后,x的值已經(jīng)變?yōu)?,所以a(x,0)即為a(5,0),該變量與你聲明的a(4,1)也就是a(0?to?4,?0?to?1)比較,發(fā)現(xiàn)下標已經(jīng)超限,也就是程序報出的錯誤:索引超出了數(shù)組界限。
結束:a(x,?0)?=?Nothing?:?a(x,?1)?=?Nothing,不太理解該語句的主要目的,如果是為了釋放內(nèi)存,那么應該直接a=Nothing。
歡迎交流如有需要,請留下QQ歡迎交流。
Dim?sr?As?StreamReader?=?File.OpenText("E:\1.txt")
Dim?input?As?String
input?=?sr.ReadLine()
While?(Not?input?Is?Nothing?And?i?=?16)
title(i)?=?Trim(input)
title2(i)?=?title(i).Replace(Space(3),?vbCrLf)
input?=?sr.ReadLine()
i?=?i?+?1
End?While
sr.Close()
不用 Split 這樣說行了
在VB里,"平均分"(pingjunfen), 這是數(shù)組的調(diào)用方法,當然會報錯了
這樣改吧:
Dim xingming As String
Dim yuwen As Short
Dim shuxue As Short
Dim yingyu As Short
Dim zonghe As Short
Dim pingjunfen As Short
xingming = InputBox("輸入姓名", "輸入名字吧")
yuwen = InputBox("輸入語文成績", vbOKOnly)
shuxue = InputBox("輸入數(shù)學成績", vbOKOnly)
yingyu = InputBox("輸入英語成績", vbOKOnly)
zonghe = yuwen + shuxue + yingyu
pingjunfen = zonghe / 3
MsgBox("平均分:" pingjunfen, [vbOKOnly])
你的數(shù)組引用n在哪里更改的呢?
更改之前要判斷一下是否超了界,
if nubound(music) then n=ubound(music)'如果走出范圍,取最大范圍
還有
Dim n As Integer = 100直接定義維數(shù),還是建議用動態(tài)數(shù)組
F(X)數(shù)據(jù)定義有問題。X此時為0。
解決方法:使用動態(tài)數(shù)組。
Dim F0, F1, F2, F3, F4, F() As Double 'F為動態(tài)數(shù)組
x = Val(TextBox2.Text)
REDIM F(x) '重新定義