(加试题)使用VB程序研究“回文素数在素数表中的位置”,程序运行界面如下图所示。程序将10000以内的全部素数按顺序保存到数组a中,在文本框中输入需要查找的回文数,单击“查找”按钮command1,在标签label1中显示该回文素数在全部素数中的位置。

实现上述功能的程序如下,加框处的代码有错,请改正。
Dim a(1 To 10000) As Integer
Dim n As Integer
Private Sub Form_Load()
‘将1000以内的素数从小到大依次存入数组a中
‘将素数的个数存入变量n中
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, mid As Integer
Dim key As Integer, flag As Boolean
key = Val(Text1.Text)
If key > 10000 Or Not hws(key) Then
MsgBox "输入的数据不是10000以内的回文数"
Else
i = 1 : j = n
flag = False
Do While flag = False
mid = (i + j) \ 2
If key > a(mid) Then
i = mid + 1
ElseIf key < a(mid) Then
j = mid - 1
Else
flag = True
End If
Loop
If Not flag Then
Label1.Caption = "该回文数不是素数"
Else
Label1.Caption = "回文素数" + Str(key) + "是第" + Str(mid) + "个素数"
End If
End If
End Sub
‘自定义函数 hws(y)用于判断y是否是回文数
Function hws(y As Integer) As Boolean
Dim x As Integer, k As Integer
x = 0: k = y
hws = True
Do While k > 0
x = x + k Mod 10
k = k \ 10
Loop
If x <> y Then hws = False
End Function