求VB大神帮忙
Dim a(5, 5) As Integer
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
For i = 1 To 5
For j = 1 To 5
a(i, j) = Int(90 * Rnd) + 10
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub
Private Sub Command2_Click()
Dim max As Integer
Dim i As Integer
Dim j As Integer
max = a(1, 1)
For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
Next j
Next i(这边为什么会弹出next没有for???)
End If
Text1.Text = "最大数为" & max & ",他的位置是"
End Sub
Private Sub Command3_Click()
Picture1.Cls
Text1.Text = ""
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
答案:出现错误的原因是:因为你的For...Next嵌套出错。在第二个For循环(即For j=1 to 5 ....Next j )中,有一个if...then语句,而你用的if语句是一个语句块的形式,它后面要有一个 End if 作结束。在你的这个语句块(If .... End if 之间部分) 中包含有两个Next 语句,这样前面的For循环不能配对了。所以有一个“Next 没有For”的错误了。正确的语句是:
Private Sub Command2_Click()
Dim max As Integer
Dim i As Integer
Dim j As Integer
max = a(1, 1)
For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
End If
Next j
Next i
Text1.Text = "最大数为" & max & ",他的位置是"
End Sub
其他:for
next
就是 vb for 循环的 结构 Private Sub Command2_Click()'Command2_Click改成下面的语句
Dim max As Integer
Dim i As Integer
Dim j As Integer
max = a(1, 1)
For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
End If
Next j
Next i
Text1.Text = "最大数为" & max & ",他的位置是"
End Sub 程序功能不完整,稍作修改如下:
Dim a(5, 5) As Integer
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Randomize
For i = 1 To 5
For j = 1 To 5
a(i, j) = Int(90 * Rnd) + 10
Picture1.Print a(i, j);
Next j
Picture1.Print
Next i
End Sub
Private Sub Command2_Click()
Dim max As Integer
Dim wzi As Integer
Dim wzj As Integer
Dim i As Integer
Dim j As Integer
max = a(1, 1)
For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
wzi = i
wzj = j
End If
Next j
Next i
Text1.Text = "最大数为" & max & ",他的位置是第" & wzi & "行第" & wzj & "列"
End Sub
Private Sub Command3_Click()
Picture1.Cls
Text1.Text = ""
End Sub
Private Sub Command4_Click()
Unload Me
End Sub For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
Next j
Next i(这边为什么会弹出next没有for???)
因为你有if,却没有end if 应为
For i = 1 To 5
For j = 1 To 5
If a(i, j) > max Then
max = a(i, j)
end if
Next j
Next i
上一个:vb中用ado控件修改数据库记录的问题
下一个:我用VB写了个程序,想30分钟的时候LABLE1.显示一个东西1小时的时候又显示一个东西如此循环.