gpt4 book ai didi

java - 将数组打印为字符串

转载 作者:行者123 更新时间:2023-12-02 02:20:54 24 4
gpt4 key购买 nike

对于一项作业,我必须使用打印方法创建一个五连胜游戏。所以基本上我的想法是,该方法遍历整个二维数组,每次出现 0 时,它都会在字符串行中添加一个“-”。当有 1 或 2 时,它会添加数字。当 [j] 数组完成时,它会打印整行并重新初始化该行。终端是另一个类,我们可以用它来打印该类中的所有内容。

问题是整个方法根本不打印任何内容,我不知道问题可能出在哪里。

public static void print() {
String row = "";
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j] == 0) {
row += "-";
} else {
row += (char) (board[i][j]);
}
if (j == board[i].length) {
Terminal.printLine(row);
row = "";
}
}
}
}

最佳答案

因为变量 j 永远不会等于 board[i] 的长度。

你的 for 循环 i 仅从 0, 1, 2, ..., board.length - 1 迭代。

与你的循环 j 相同。它仅从 0, 1, 2, ..., board[i].length - 1 迭代

除非您使用 j <= board[i].length ,但它可能会抛出 IndexOutOfRangeException。

你的代码应该是这样的。

public static void print() {
String row = "";
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
if (board[i][j] == 0) {
row += "-";
} else {
row += (char) (board[i][j]);
}
if (j == board[i].length - 1) {
Terminal.printLine(row);
row = "";
}
}
}
}

关于java - 将数组打印为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48524537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com