Java中的多维数组

时间:2011-10-11 10:40:48

标签: java multidimensional-array

基本上,用户必须指定他们想要的许多行和列的方式[n * n],然后用户将输入值,它将存储在多维数组中。我运行代码但收到错误

  

线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:1
  在Total.main(Total.java:30)

代码:

import java.util.*;

public class Total
{
public static void main(String args[])
{
int n,value;
Scanner input = new Scanner(System.in);

System.out.println("Enter integer for row and column:");
n = input.nextInt();

int arrX[][] = new int [n][n];

for(int i=0; i < n; i++ )
{
    for(int j=0; j < n; i++)
    {
        System.out.printf("Enter integer [%d],[%d]:",i,j);
        value = input.nextInt();
        arrX[i][j] = value;
    }
}
  }
}

5 个答案:

答案 0 :(得分:5)

在行中:

for(int j=0; j < n; i++)

您将i增加j,如下所示:

for(int j=0; j < n; j++)

答案 1 :(得分:1)

更改此行:

for(int j=0; j < n; **j**++)

这可能是一个错字

答案 2 :(得分:1)

您正在两个循环中递增i

import java.util.*;

    public class Total
    {
    public static void main(String args[])
    {
    int n,value;
    Scanner input = new Scanner(System.in);

    System.out.println("Enter integer for row and column:");
    n = input.nextInt();

    int arrX[][] = new int [n][n];

    for(int i=0; i < n; i++ )
    {
        for(int j=0; j < n; j++)
        {
            System.out.printf("Enter integer [%d],[%d]:",i,j);
            value = input.nextInt();
            arrX[i][j] = value;
        }
    }
      }
    }

答案 3 :(得分:0)

在第二个循环中,您执行i++而不是j++

答案 4 :(得分:0)

问题是你在第二个中增加了错误的变量:

for(int j=0; j < n; i++)

而不是我必须输入j

如果你改变这个就行得正常。

干杯