当我打印出
的编码时 //display the board
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
char [][] gameboardTwo = {{'*', '*', 'S', 'T', 'A','R', '*', 'W', 'A', 'R', 'S', '*', '*', '*'}, {'*', '*', 'E','P', 'I', 'S', 'O', 'D', 'E', '*', '*', 'I', 'V', '*'}, {'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}, {'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}};
System.out.print(gameboardTwo);
}
}
我得到的回报是:
[[C@75b84c92
Process completed.
答案 0 :(得分:10)
可以使用以下方式打印二维数组:
System.out.print(Arrays.deepToString(gameboardTwo));
答案 1 :(得分:1)
数组表示为String
s,类似于Object.toString
方法打印出来的内容,即类型和哈希码。
要打印数组,必须使用Arrays类的静态实用程序方法。
例如:Arrays.toString(yourArray)
。
在您的情况下,Arrays.deepToString(yourArray)
因为它有多个维度。
答案 2 :(得分:1)
如果您在Java中使用System.out.println()
方法,它将使用其toString()
方法打印出给定的对象。
通常,此方法只会打印出唯一标识Object的Text。
是这个标准实现的地方[[C@75b84c92
来自你的例子。
如果要打印出阵列的全部内容,您有两个选项:
使用Arrays.toString()
或Arrays.deepToString()
方法。
或者,您遍历数组的内容并手动打印出数据。
答案 3 :(得分:0)
当您想要打印出一组项目时,通常将数组中的每个项目分开打印是有意义的。因此,如果您有一组字符串,则迭代遍历数组中的每个项目并打印出字符串。
如果您有一组int,object或其他数据类型,则可以使用该数据类型的.toString()
方法,以便将其转换为要打印的字符串。我认为当你试图将它们打印出来时,Java会对某些数据类型隐式地执行此操作。
离。
String[] myArray = {"a", "b", "c"};
void printArray() {
for (String s : myArray) {
System.out.print(s);
}
//or a traditional for loop, I forget how to get the length of
//an array in Java
for (int i = 0; i < myArray.length; i++) {
System.out.print(myArray[i]);
}
//in your case, multidimensional array, this should work
//haven't tested it though
String[][] myArray = {{"a","b"},{"c","d"}};
for (int i = 0; i < myArray.length; i++) {
for (int j = 0; j < myArray[i].length; j++) {
System.out.print(myArray[i][j]);
}
}
}
答案 4 :(得分:0)
要获得数组的单个元素,请遵循以下代码: -
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
char [][] gameboardTwo = {
{'*', '*', 'S', 'T', 'A','R', '*', 'W', 'A', 'R', 'S', '*', '*', '*'},
{'*', '*', 'E','P', 'I', 'S', 'O', 'D', 'E', '*', '*', 'I', 'V', '*'},
{'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'},
{'*', '*', '*','*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}
};
System.out.println(Arrays.deepToString(gameboardTwo));
System.out.println("////////////////////////////");
System.out.println(gameboardTwo[0].length);
System.out.println("////////////////////////////");
for(int i=0; i<4; i++){
for(int j=0; j<14; j++){
System.out.println(gameboardTwo[i][j]);
}
System.out.println("**** row ends ****");
}
}