使用2d数组时出现java运行时异常
我编写了一个类,它有一个2d数组,该数组根据用户输入而增长,并允许用户在数组中输入数字。用户将输入2 2
作为大小,输入2 4 5 4
作为它将这样打印出来的数字
2 2
2 2
它一直工作,直到我输入一个数组大小7 1
,7行1列。我有个例外
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Assignment7.main(Assignment7.java:55)
我不明白为什么
import java.util.Scanner;
public class Assignment7
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print(" ");
int [][] nums = new int[scan.nextInt()][scan.nextInt()];
System.out.print(" ");
for (int i = 0; i < nums.length; ++i)
{
for (int j = 0; j < nums.length; ++j)
{
nums[i][j] = scan.nextInt();
}
}
for (int i = 0; i < nums.length; ++i)
{
System.out.print("\n");
for (int j = 0; j < nums.length; ++j)
{
System.out.print(nums[i][j]);
}
}
}
}
# 1 楼答案
对于内部循环,使用外部数组的大小:
这应该是:
# 2 楼答案
第二维度的长度应该是
nums[i].length
,注意:(i
对于您的示例)