Java中的多维数组
问题描述:
基本上,用户必须指定他们想要的[n * n]多行和多列,然后用户将输入值并存储在多维数组中。我运行代码但出错Java中的多维数组
在线程 “主” 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;
}
}
}
}
答
在行:
for(int j=0; j < n; i++)
你增加i
,它应该是j
这样的:
for(int j=0; j < n; j++)
答
在你的第二个循环中,您做的i++
代替j++
答
改变这一行:
for(int j=0; j < n; **j**++)
这是一个错字也许
答
您在递增两个循环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;
}
}
}
}
答
问题是你增加了错误的变量,第二次为:
for(int j=0; j < n; i++)
而是我的,你必须键入j如果改变这种
工作正常。
干杯
在这样的例外情况下,您可以检查控制台输出并找出可能的错误。然后,很容易找到的错误,因为j是永远大于0 :) – smas