Java 如何从索引[1][1]而不是[0][0]启动和创建二维数组
如何创建第一个值不是存储在0而是存储在1的数组。这适用于剧院座位计划,其中行和列必须从1开始,而不是从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
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开始使用索引