打印出阵列?

时间:2015-01-29 13:07:12

标签: java

当我打印出

的编码时
    //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.

5 个答案:

答案 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()方法。 或者,您遍历数组的内容并手动打印出数据。

请参阅 What's the simplest way to print a Java array?

答案 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 ****");
         }

     }