Я хотел бы создать отформатированный график, как показано ниже:
Количество символов в каждом из полей равно 4, 12, 17, 40 и 4 соответственно. Поля также выровнены по левому краю.
Используя код, который я разместил ниже, мой результат выглядит следующим образом:
Фрагмент кода для форматирования:
for (Tasks examined : shortList) {
String yesNo = examined.isDone() == true ? "yes" : "no";
System.out.printf("%1$-4s" + "| " + "%2$tY.%<tm.%<-12td."
+ "| " + "%3$-17s" + "| " + "%4$-40s" + "| " + yesNo + "\n"
, examined.getNumber(), examined.getDeadline()
, importanceLevel, examined.getName())
}
Типы переменных:
examined.getNumber() //integer
examined.getDeadline() //DateTime
importanceLevel //String
examined.getName() //String
Я изучал класс Formatter в JavaDocs здесь . Но я не смог решить проблему.
Основной проблемой здесь является точка (. ) в конце поля «дата». В нем не должно быть всего этого пробела между датой и точкой остановки.
Я хотел организовать ширину элемента 'date' с флагом -12, но остальное было вырезано как последняя точка выше.
Как это можно решить?