gpt4 book ai didi

java - 错误 : exception in thread 'main' java. lang.ArrayIndexOutOfBoundsException: 0

转载 作者:行者123 更新时间:2023-12-01 22:40:05 25 4
gpt4 key购买 nike

import java.util.Scanner;
public class TestMultiDimenArray
{
private static int row;
private static int column;
public static int [][] table1 = new int [row][column];

public static int [][] get ( int a, int b){
row = a;
column = b;
Scanner keyboard = new Scanner(System.in);
for (int n = 0; n < a; n++){
for (int m = 0; m < b; m++){
table1[n][m] = keyboard.nextInt();
}
}
return table1;
}

public static void display (int [][] array1){
for (int n = 0; n < row; n++){
for (int m = 0; m < column; m++){
System.out.print(table1[n][m] + " ");
}
System.out.println();
}
}
public static void main(String[] args){
get(3,3);
}
}

程序编译成功,但是当我运行它时,它返回错误。我该如何修复它?关于我的问题,我只能说这么多。当我只能告诉我更多细节时,系统有什么问题告诉我提供更多细节。

最佳答案

该语句声明一个长度为 0、宽度为 0 的二维数组。

public static int [][] table1 = new int [row][column];

这是因为类初始化时,rowcolumn还没有被赋值;仅当调用 get 时才分配它们。因此 Java 为它们分配了默认值 0

从参数分配值后初始化数组。

public static int [][] table1;

public static int [][] get ( int a, int b){
row = a;
column = b;
table1 = new int [row][column];
Scanner keyboard = new Scanner(System.in);
// Rest unchanged
}

关于java - 错误 : exception in thread 'main' java. lang.ArrayIndexOutOfBoundsException: 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com