[英]Printing 2D char array in Java with For loop
在课堂上我被告知打印出一个二维字符数组是通过使用两个 for 循环来完成的。 有人可以向我解释这是如何工作的吗? 谢谢你。
我的代码如下(它应该打印一个井字游戏板)
这是我的输出照片: 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();
}
}
}
在您的代码中使用两个循环的原因是您需要在每一行中打印每个字符。
外循环让你每一行和每一内环让你的每个字符内的一行。 因此,在外循环的第一次迭代中,您将获得顶行。 现在您正在访问它,您可以继续使用内部循环遍历它保存的每个字符并打印它们。
打印完该行中的所有字符后,内部循环结束并访问下一行,依此类推...
两个 for 循环用于在移动到下一行之前逐个字符地打印一行。 二维数组本质上是一个数组数组,或者在这种情况下,是一个行数组。 外循环遍历板上的每一行,对于这些行中的每一行,内循环遍历其中的字符。 我添加了一些评论,希望能澄清这一点。
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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.