| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:VBnet 大哥们指点一下
只看楼主 加入收藏
woaiqiufeng
Rank: 2
等 级:禁止访问
帖 子:38
专家分:29
注 册:2010-3-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
VBnet 大哥们指点一下
程序代码:
Public Class Form1
    Dim b As Integer, c As Integer, j As Integer, i As Integer, a(i) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        b = InputBox("请输入第一个数")
        c = InputBox("请输入第二个数")
        TextBox1.Text = Str(b) + "" + Str(c)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        j = 0
        For i = 0 To 4
            a(i) = Int(Rnd() * 21 + 1)

        Next
        If a(i) = b Or a(i) = c Then
            j = j + 1
        End If
        If j = 2 Then
            MsgBox("中奖")
        Else
            MsgBox("没种")
        End If
    End Sub
End Class
运行后说a(i)=int(rnd()*21+1)这里超出了数组索引,怎么回事  我又应该怎么修改呢
搜索更多相关主题的帖子: VBnet 
2010-04-22 14:49
wei855198
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:228
专家分:944
注 册:2009-4-24
收藏
得分:20 
你这段代码里问题出在:
1、定义动态数组的方法不正确,dim a(i) as integer是不行的,因为默认i=0,因此这一句的实际作用仅是你定义了一个长度为1的数组a(0)
   所以在第一个for循环中,执行到第二轮时i=1,自然a(0)数组存放不下,超出了索引边界。
   改正:dim a() as integer
        在第一个For循环中加入这样一句        
        ReDim Preserve a(i)    ’动态数组重定义
2、第二处错误:
        If a(i) = b Or a(i) = c Then
            j = j + 1
        End If
因为在执行完第一个For循环后,数组为a(4),共有5个元素,但是i的值已经增到5
那么在你这段代码中,a(i)即a(5)是不存在的,又出现了超出数组索引的错误
        另外,你这句比较b,c与a(i)的值的句子不对,因为现在数组a(i)中有5个元素,你是要逐个比较还是比较其中的一个?逐个比较要用循环
        for i=0 to 4
            if a(i)=b or a(i)=c then
                j=j+1
            end if
       next


护肤小店 http://mina2010.
靓装小店 http://liangliyizu2010.
2010-04-22 15:22
woaiqiufeng
Rank: 2
等 级:禁止访问
帖 子:38
专家分:29
注 册:2010-3-13
收藏
得分:0 
谢谢
2010-04-22 20:54
快速回复:VBnet 大哥们指点一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017842 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved