更改使用 System.out.print() 的方法以使用 System.out.println()

  • 本文关键字:out System println 方法 print java
  • 更新时间 :
  • 英文 :


我有以下代码,运行良好:

public static void printTrain(String[][] train, int max_height) {
// Controls the height, 0 means the top
for (int i = 0; i < max_height; i++) {
// Controls the wagon index
for (int j = 0; j < train.length; j++) {
if (j != train.length - 1)
System.out.print(train[j][i] + " ");
else
System.out.print(train[j][i]);
}
System.out.println();
}
}

但是,对于我当前的项目,我只允许使用一个特殊的库(终端(,它只允许我使用Terminal.printLine(...);.

所以我必须更改方法,使其仅使用 Terminal.printLine(( <=> System.out.println((。

这就是我走多远:

public static void printTrain(String[][] train, int max_height) {
StringBuilder trainGraphic = new StringBuilder();
// Index for the height of a wagon
for (int i = 0; i < max_height; i++) {
// Wagon index
for (int j = 0; j < train.length; j++) {
if (j != train.length - 1) { // This means you need to print the connector
trainGraphic.append(train[j][i]).append(" ++ ");
} else {
trainGraphic.append(train[j][i]).append("    ");
}
}
Terminal.printLine("");
}
}

无论我尝试什么,它都没有按预期工作,并且总是打印错误。 如何更改代码,使其仅使用 Terminal.printLine((?

目前,您正在为整个方法创建一个StringBuilder- 但从未实际打印它的结果。相反,请为每行输出创建一个StringBuilder。与原始代码相比,这并没有太大变化:

public static void printTrain(String[][] train, int max_height) {
// Controls the height, 0 means the top
for (int i = 0; i < max_height; i++) {
// Create a StringBuilder for this specific line
StringBuilder builder = new StringBuilder();
// Controls the wagon index
for (int j = 0; j < train.length; j++) {
if (j != train.length - 1)
builder.append(train[j][i] + " ");
else
builder.append(train[j][i]);
}
// Print out the line we've prepared in the StringBuilder
Terminal.printLine(builder.toString());
}
}

最新更新