使用For循环在Java中打印2D char数组

时间:2020-02-27 02:22:50

标签: java arrays loops for-loop printing

在课堂上,我被告知通过使用两个for循环来完成2D char数组的打印。有人可以告诉我这是如何工作的吗?谢谢。

我的代码在下面(它应该打印井字游戏板)

这是我的输出的照片:Image

import java.util.Scanner;

 public class TicTacToe{

   public static void main(String [] args){



            char[][] gameBoard = {{' ', '|', ' ', '|', ' '},
                                        {'-', '+', '-', '+', '-'},
                                        {' ', '|', ' ', '|', ' '},
                                        {'-', '+', '-', '+', '-'},
                                        {' ', '|', ' ', '|', ' '}};


         for(char [] row: gameBoard){
          for(char c: row){
            System.out.print(c);
          }
            System.out.println();
          }

     }

 }

2 个答案:

答案 0 :(得分:0)

在代码中使用两个循环的原因是因为您需要在 EACH 行中打印 EACH 字符。

外循环使您每行,内循环使您每个字符其中。因此,在外循环的第一次迭代中,您将获得第一行。现在,您已经可以访问它了,可以继续进行操作,并通过内部循环遍历它包含的每个字符并打印出来。

该行中的所有字符都已打印完后,内循环结束,访问下一行,依此类推...

答案 1 :(得分:0)

两个for循环用于在移至下一行之前逐字符打印一行字符。 2D数组本质上是数组的数组,在这种情况下,是行的数组。外循环遍历板上的每一行,对于每一行,内循环遍历其中的字符。我添加了一些评论,希望可以澄清这一点。

 for(char [] row: gameBoard){   //loops through each row in the gameboard 
    for(char c: row){           //loops through each character in the current row
      System.out.print(c);      //prints out the current character in the current row
    }
    System.out.println();       //creates a new line after all characters in a row have been printed
 }