我在填充2-D阵列时遇到了一些困难。事先,我构建了一个二维数组,其维度基于用户输入。基本上我需要检查此语句是否有效(仍在数组维度内)。有谁知道我怎么能这样做?
(square[0 - i][dimension/2 + i]) // is valid / still in array dimensions
由于
答案 0 :(得分:1)
如果你的意思是想要检查用户输入的尺寸是否太小而不能做你的事情,你需要使用square.length和square [0] .length(对于子阵列)。 例如:
int array[5][6] = new int;
System.out.println(array.length);
System.out.println(array[0].length);
这将返回:
5
6
因此,您可以使用.length来检查值是否在您需要的范围内。
答案 1 :(得分:0)
你可以做的另一件事是将“suspect”语句包含在try-catch块中,catch块捕获ArrayIndexOutOfBoundsException
并采取适当的措施(在屏幕上打印错误) ,例如)。
像这样:
Scanner in = new Scanner(System.in);
int i, j;
i = in.nextInt ();
j = in.nextInt ();
in.close ();
try
{
System.out.println (the_array[i][j]); //anything else can go here (maybe add that array element to another array ?)
}
catch (ArrayIndexOutOfBoundsException e)
{
System.err.println ("invalid input"); //anything else can go here (maybe ask for another input ?)
}