java - 如何在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]]
。有人可以提供建议吗?
解决方案
由于您没有提供有关错误和约束的任何详细信息,因此我正在回答假设:
数组 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 必须遵循以下规则:
- 0 <= x < 行大小
- 0 <= y < colsize
检查您是否正确访问 d[][] ...
推荐阅读
- java - java中StreamTokenizer的问题
- c# - Unity/C#:可控滚球的一致性
- ssl-certificate - 谷歌信任服务证书问题
- javascript - 将数据转换为所需格式后,select2 不会显示结果
- html - align-content 的初始值
- wolfram-mathematica - 在 Mathematica 中拟合数据
- html - 如何在使用引导程序之间对齐空格?
- flutter - 如何在颤振 UI 中创建第二行和第三行?
- scala - 如何在 spark scala 中为每个类别选择 N 个最高值
- c# - Observable.Using 和 Observable.Retry 的错误处理