有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中运行时的2d数组

当m和n的值很大时,为什么下面的代码会给出运行时错误? 当n和m等于1000000时,它显示java。lang.OutOfMemoryError:Java堆空间。 正因为如此,我的代码在大量输入n和m时失败。 有没有其他方法可以避免记忆错误

   Scanner sc = new Scanner(System.in);
   int n = sc.nextInt();
   int m = sc.nextInt();
   int a[][] = new int[n][m];

共 (1) 个答案

  1. # 1 楼答案

    当N或M因内存不足而较大时,会发生运行时错误

    可以使用fill方法初始化数组

    int [][]a = new int[N][M];
    Arrays.fill(a, 0);