Java 如何从索引[1][1]而不是[0][0]启动和创建二维数组

Java 如何从索引[1][1]而不是[0][0]启动和创建二维数组,java,Java,如何创建第一个值不是存储在0而是存储在1的数组。这适用于剧院座位计划,其中行和列必须从1开始,而不是从0开始。请帮忙!在过去的两天里,我一直被困在这个问题上 int[] [] myarray = new int [2] [3]; 这是我对在Java中将原始数组结构用作1索引数组来模拟它的最佳猜测 public class OneIndexed2DArray { int[][] indexedArray; public OneIndexed2DArray(int

如何创建第一个值不是存储在0而是存储在1的数组。这适用于剧院座位计划,其中行和列必须从1开始,而不是从0开始。请帮忙!在过去的两天里,我一直被困在这个问题上

int[] [] myarray = new int [2] [3];

这是我对在Java中将原始数组结构用作1索引数组来模拟它的最佳猜测

public class OneIndexed2DArray {
        int[][] indexedArray;

        public OneIndexed2DArray(int row, int col)
        {
            indexedArray = new int[row + 1][col + 1];
        }

        public int GetValue(int row, int col) throws ArrayIndexOutOfBoundsException
        {
            if(row == 0 || col == 0)
            {
                throw new ArrayIndexOutOfBoundsException();
            }
            else
                return indexedArray[row][col];
        }

        public void SetValue(int row, int col, int value) throws ArrayIndexOutOfBoundsException
        {
            if(row == 0 || col == 0)
            {
                throw new ArrayIndexOutOfBoundsException();
            }
            else
                indexedArray[row][col] = value;
        }
    }
然后像这样创建它

int[]myarray=newint[2][3]

变成

OneIndexed2DArray myarray = new OneIndexed2DArray(2, 3);
将值设置为[1][1]=1

myarray.SetValue(1, 1, 1);
得到那个值吗

int theValue = myarray.GetValue(1,1);
如果将0用作索引,则引发异常,使其行为与2D数组没有0索引一样

myarray.SetValue(0, 1, 5) returns ArrayIndexOutOfBoundsException
myarray.GetValue(1, 0) returns ArrayIndexOutOfBoundsException

您必须添加更多功能才能获得尺寸等信息,但这应该可以让您开始了。

您没有。这就是Java的工作原理。内部调整显示值。我将创建一个包含二维整数数组的类,并从1开始使用索引