首页 > 解决方案 > 如何在java中打印二维数组

问题描述

我需要打印一个二维数组,在其中我将在运行时给出行和列的值。

package test;

import java.util.Scanner;

public class test1 {
    
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        int rowsize=scan.nextInt();
        int i=0;int j=0;
        int rowarr[]=new int[rowsize];
        int colsize=scan.nextInt();
        int colarr[]=new int[colsize];
        int d[][]=new int[rowsize][colsize];
        for( i=0;i<rowarr.length;i++) {
            rowarr[i]=scan.nextInt();
        }
        
        for( j=0;j<colsize;j++) {
            colarr[j]=scan.nextInt();
        }
        
        for(int k=0;k<rowarr.length;k++) {
            for(int m=0;m<colarr.length;m++) {
                System.out.print(d[rowarr[k]][colarr[m]]);
            }
            System.out.println();
        }
    }
}

打印时最后一行出现错误d[rowarr[k]][colarr[m]]。有人可以提供建议吗?

标签: javaarrays

解决方案


由于您没有提供有关错误和约束的任何详细信息,因此我正在回答假设:

数组 d[][] 可用于 d[0...rowsize-1][0...colsize-1] 索引。

但是,如果您尝试访问任何其他为负数或大于 rowsize-1(如 d[rowsize+5][0])的索引,则会产生错误。

同样,如果你尝试访问 d[0][colsize+2] 或类似的东西,或者 d[0][-3],它也会出错。

因此,如果要访问 d[x][y](其中 x 和 y 是整数),则 x 和 y 必须遵循以下规则:

  1. 0 <= x < 行大小
  2. 0 <= y < colsize

检查您是否正确访问 d[][] ...


推荐阅读