java - 如何在java中打印二维数组?
问题描述
我被这个困住了。我想打印一个在代码中声明其大小的数组。
package userdefinedarray;
import java.util.Arrays;
public class userdefinedarray
{
public static void main(String[] args)
{
int[][] myArray = new int[5][10];
for(int i=0;i<myArray.length;i++)
{
myArray[i] = null;
}
System.out.println(Arrays.toString(myArray));
System.out.println(Arrays.deepToString(myArray));
}
}
这是输出。“new int[5][10]”中的>>[10]<<发生了什么?
[null, null, null, null, null]
[null, null, null, null, null]
解决方案
您的二维数组由数组数组组成。这样想。对于每个数组元素,将一个新数组想象为一个元素。因此,为了打印它,您需要遍历每个数组,换句话说,遍历行和列。
for(int i=0; i<myArray.length;i++){
for(int j=0;j<myArray[0].length;j++)
System.out.print(myArray[i][j] + " ");
System.out.println();
}
如果你想用任何特定的非空值填充你的数组,你可以在外部 for 循环内完成。
另外,你不能做
myArray[i] = null;
如果你想真正做到这一点,请使用
myArray[i] = new int[myArray[0].length];
推荐阅读
- office-js - Office.context.ui.messageParent 在第二次打开对话框时失败
- javascript - ES6:有没有办法在一个语句中导入和赋值?
- python - 如何在 matplotlib 中显示具有多标记、多颜色的数据
- r - 根据最高 gamma 值创建一个包含文档主题值的向量
- hibernate - JPA 不安排删除孤儿和多态集合
- scala - scala中函数和方法的区别
- android - Android 如何在没有任何用户交互的情况下添加自动更新功能
- java - 计算总设备高度和宽度
- service - 具有动态 AlertSeverity 的 SCOM 服务 UniMonitor
- docker - Docker /bin/sh:复制:找不到命令