Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用2d数组时出现运行时异常_Java_Arrays_Multidimensional Array_Runtimeexception - Fatal编程技术网

Java 使用2d数组时出现运行时异常

Java 使用2d数组时出现运行时异常,java,arrays,multidimensional-array,runtimeexception,Java,Arrays,Multidimensional Array,Runtimeexception,我编写了一个类,它有一个2d数组,该数组根据用户输入而增长,并允许用户在数组中输入数字。用户将输入2 2作为大小,并输入2 4 5 4作为打印出来的数字 2 2 2 2 它一直工作,直到我输入一个数组大小71,7行1列。我有个例外 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at Assignment7.main(Assignment7.java:55) 我不明白为什么 import

我编写了一个类,它有一个2d数组,该数组根据用户输入而增长,并允许用户在数组中输入数字。用户将输入
2 2
作为大小,并输入
2 4 5 4
作为打印出来的数字

2 2 
2 2
它一直工作,直到我输入一个数组大小
71
,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]);

         }

        }

    }               
}
import java.util.Scanner;
公共课堂作业7
{
公共静态void main(字符串[]args)
{
扫描仪扫描=新扫描仪(System.in);
系统输出打印(“”);
int[][]nums=new int[scan.nextInt()][scan.nextInt()];
系统输出打印(“”);
对于(int i=0;i
第二维度的长度应该是
nums[i]。长度
,注意:(
i
为例)

第二维度的长度应该是
nums[i]。长度
,注意:(
i
为例)

对于内环,您使用的是外部数组的大小:

for (int i = 0; i < nums.length; ++i)
    {
    for (int j = 0; j < nums.length; ++j)
for(int i=0;i
这应该是:

for (int i = 0; i < nums.length; ++i)
    {
    for (int j = 0; j < nums[i].length; ++j)
for(int i=0;i
对于内部循环,使用外部数组的大小:

for (int i = 0; i < nums.length; ++i)
    {
    for (int j = 0; j < nums.length; ++j)
for(int i=0;i
这应该是:

for (int i = 0; i < nums.length; ++i)
    {
    for (int j = 0; j < nums[i].length; ++j)
for(int i=0;i