当前位置: 首页 > 面试题库 >

错误:多维数组中“数组索引超出范围”

胡星汉
2023-03-14
问题内容

我已经声明了我的数组

var tile = [[Int]]()

然后我初始化它的值像

for (var index = 0; index < 4; index++)
    {
        for (var sindex = 0; sindex < 4; sindex++)
        {
        self.tile[index][sindex] = 0 // error here
            println("\(index) \(sindex)")

        }
    }

在运行时,它给出错误“数组索引超出范围”


问题答案:

正如评论员@C_X和@MartinR所说,您的数组为空。这是根据需要初始化的方法…

var tile = [[Int]](count:4, repeatedValue: [Int](count: 4, repeatedValue: 0))

for index in 0 ..< 4 {
    for sindex in 0 ..< 4 {
        tile[index][sindex] = 0 // no error here now...
        print("\(index) \(sindex)")
    }
}

…当然,for如果您只想零,那么循环现在是多余的!



 类似资料:
  • 问题内容: 我已经开始处理我的第一个Java程序,它是一个简单的计算器,但是我得到一个错误,声称我的数组超出范围。我尝试对其进行调试,以了解这样做的原因和原因,并遵循纸上的代码,两者均显示了我期望和期望的结果。因此,我看不到问题出在哪里。代码不完整。 根据调试器,此行出现错误: 这是我当前拥有的代码的主要部分: 这是我收到的错误消息: 问题答案: 当等于中的最后一个元素索引时,则将大于最后一个元素

  • 问题内容: 我的函数中不断出现此错误 我正在尝试读取数组answerRecord中的值。我使用一个全局变量arrayCount,它跟踪im当前指向哪个索引。 我在较早的函数中做了一个println,它为var arrayCount返回一个整数1的值,因此arrayCount不为空。因此,它应该能够将数组解释为: *假设arrayCount现在为1 answerRecord [arrayCount]

  • 你好,stackoverflow的好人们!我有一个奇怪的问题,我不明白。我要发布我的两个有问题的方法: 另一个: 所以,我正在根据我在网上找到的一些代码制作一个数独解算器。现在,当我试着调试程序时,我可以很好地检查一些行(并且它按照预期工作),但是一旦程序第一次在方法“resi”中调用“next”方法,它就会崩溃,出现数组索引越界异常。如果我只是尝试在不进行调试的情况下运行该程序,那么在同一方法调

  • 问题内容: 我有一个索引元组数组,我想用它从多维numpy数组中选取值, 理解只有在已知的情况下才有效。 有什么提示吗? 问题答案: 您可以将的转置版本转换为元组,然后为矢量化解决方案建立索引-

  • 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)在com.microsoft.sqlserver.jdbc.SQLServerPrearedStatement.setterGetParam(SQLServerPrearedStatement.java:9