“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:索引0超出长度0的界限
我使用eclipse(2019-12)进行Java编程 当我在程序下面运行任何输入时,它显示 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引0超出长度0的界限“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:索引0超出长度0的界限,java,Java,我使用eclipse(2019-12)进行Java编程 当我在程序下面运行任何输入时,它显示 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:索引0超出长度0的界限 在Array.inputArr(Array.java:21) 位于App1.main(App1.java:6) 我不知道问题出在哪里 我的代码如下: Array.java package App; import java.util.*; class Array { i
在Array.inputArr(Array.java:21)
位于App1.main(App1.java:6) 我不知道问题出在哪里 我的代码如下: Array.java
package App;
import java.util.*;
class Array
{
int m, n;
Scanner reader=new Scanner(System.in);
void inputLen()
{
System.out.print("Please enter array row and column: ");
m=reader.nextInt();
n=reader.nextInt();
}
int[][] arr=new int[m][n];
int i, j;
void inputArr()
{
System.out.println("Please enter "+m+"*"+n+" array: ");
for(i=0; i<m; i++)
for(j=0; j<n; j++)
arr[i][j]=reader.nextInt();
}
void sumColumn()
{
int[] colSum=new int[n];
for(j=0; j<n; j++)
{
for(i=0; i<m; i++)
colSum[j]+=arr[i][j];
System.out.println("Column"+(j+1)+" sum="+colSum[j]);
}
}
}
创建矩阵时:
Array matrix=new Array()代码>
m和n等于0。
您的阵列:
int[][] arr=new int[0][0];
试试这个:
int[][] arr;
void inputLen()
{
System.out.print("Please enter array row and column: ");
m=reader.nextInt();
n=reader.nextInt();
arr = new int[m][n];
}
在调用inputLen()
之前创建数组,因此m
和n
是0
,因此创建的是零长度数组。请注意,不鼓励创建名为array
的类,因为这会使代码不明确。您应该使用不同的名称,如MyArray
或类似的名称。
int[][] arr;
void inputLen()
{
System.out.print("Please enter array row and column: ");
m=reader.nextInt();
n=reader.nextInt();
arr = new int[m][n];
}