我正在使用这样的数组:
int selIntIndex = Integer.valueOf(selStringIndex);
int[][] PreIntVal = new int[][]
{
{ selIntIndex,
2 },
{
selIntIndex,
3 },
{
selIntIndex,
1 } };
PreIntVal[3][0] = PreIntVal[4][0] = 3;
android.util.Log.d("StripedLog",
Arrays.toString(Values.PreStringVal[3]));
但不知何故,代码永远不会到达“log”语句。问题出在这一行: PreIntVal[3][0] = PreIntVal[4][0] = 3;因为如果我将其注释掉,它就会起作用。
有什么建议吗?
最佳答案
这一行PreIntVal[3][0] = PreIntVal[4][0]
正在导致ArrayIndexOutOfBoundsException 。查看定义的数组的维度:new int[][] {
{ selIntIndex,
2 },
{
selIntIndex,
3 },
{
selIntIndex,
1 } };
。您似乎对如何使用 index 访问数组元素感到困惑,请浏览 Oracle tutorial .
该数组的有效索引为[0,1,2][0,1]。
观察此图以了解索引是如何映射的。
关于java - 2d 整数数组无法正常运行 java android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17759028/