这个问题在这里已经有答案了:
打印java数组最简单的方法是什么(32个答案)
昨天关门了。
我正在尝试打印一个带有1和0的2d数组(大小由用户指定)。然而,每次我试着跑的时候,我都会得到一些随机的数字和字母,比如“[[i@4eec7777而不是二维数组。我注解掉了for循环,并认为我已经将问题缩小到了数组的初始化?我不确定我做错了什么。
System.out.print("How many rows? : ");
int numRows = userInput.nextInt(); //numRows works
System.out.print("How many columns? : ");
int numCols = userInput.nextInt(); //numCols works
int randomArray[][] = new int[numRows][numCols];
// for (int row = 0; row < randomArray.length; row++) {
// int temp = (int) ((Math.random()*2)+1);
// for (int col = 0; col < randomArray[row].length; col++) {
// if (temp % 2 == 0) randomArray[row][col] = 1;
// }
// }
System.out.println(randomArray);
1条答案
按热度按时间des4xlb01#
问题
数组不重写java中的tostring()方法。如果您尝试直接打印一个数组,您将得到由object.tostring()定义的数组哈希码的类名+@+十六进制数;
解决方案
由于Java5,您可以对数组中的数组使用arrays.tostring(arr)或arrays.deeptostring(arr)。注意,object[]version对数组中的每个对象调用.tostring()
因此,您可以通过
这里是完整的代码