Должен ли я использовать несколько вызовов System.out.print()? [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Должен ли я использовать несколько вызовов System.out.print()? [закрыто]

Сообщение Anonymous »

Я знаю, что лучший способ зарегистрировать что-либо в реальном проекте Java — это использовать платформу ведения журнала, например: Log4J2, Logback и т. д. Однако у меня есть личный проект, который достаточно прост, чтобы использовать старый добрый System.out.print. ().
Проект представляет собой простую шахматную игру, требующую вывода на консоль информации о матче, включая доску и все фигуры. Он также принимает вводимые пользователем данные, очищает экран и печатает обновленное совпадение каждый ход.
Следует ли мне вызывать метод print() для каждой отдельной строки или фрагмента информации (Пример 1) или мне следует добавить строки с необходимым сообщением и вызвать print() только один раз для его отображения (Пример 2)?
Основные проблемы здесь: написание легко читаемого кода и быстрое выполнение.
Пример 1

Код: Выделить всё

public void printBoard(ChessPiece[][] pieces, boolean[][] possibleMoves) {
for (int i = 0; i < pieces.length; i++) {
System.out.print((8 - i) + " ");

for (int j = 0; j < pieces[i].length; j++) {
if (possibleMoves != null && possibleMoves[i][j]) {
System.out.print(ANSI_BLUE_BACKGROUND);
}

if (pieces[i][j] == null) {
System.out.print("-");
} else {
String color = pieces[i][j].getColor() == Color.WHITE ? ANSI_WHITE : ANSI_YELLOW;
System.out.print(color + pieces[i][j]);
}

System.out.print(ANSI_RESET + " ");
}

System.out.println();
}

System.out.println("  a b c d e f g h");
}
Пример 2

Код: Выделить всё

public void printBoard(ChessPiece[][] pieces, boolean[][] possibleMoves) {
StringBuilder stringBuilder = new StringBuilder();

for (int i = 0; i < pieces.length; i++) {
stringBuilder.append((8 - i) + " ");

for (int j = 0; j < pieces[i].length; j++) {
if (possibleMoves != null && possibleMoves[i][j]) {
stringBuilder.append(ANSI_BLUE_BACKGROUND);
}

if (pieces[i][j] == null) {
stringBuilder.append("-");
} else {
String color = pieces[i][j].getColor() == Color.WHITE ? ANSI_WHITE : ANSI_YELLOW;
stringBuilder.append(color + pieces[i][j]);
}

stringBuilder.append(ANSI_RESET + " ");
}

stringBuilder.append("\n");
}

stringBuilder.append("  a b c d e f g h");
System.out.println(stringBuilder.toString());
}
Это должен быть результат:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/788 ... nvocations

Вернуться в «JAVA»