Как сделать так, чтобы мои println обрисовывали контуры / вкладки так, как я хочу в этом цикле for с несколькими строками для печати? - PullRequest
0 голосов
/ 16 сентября 2018

Итак, я какое-то время резвился с этим и сталкивался с такими вещами, как использование формата и / t, а что нет.Но я все еще не могу понять, как правильно наметить вывод моего println, сделанного этим для цикла for:

for (int i = 0; i < AANTAL_CIJFERS; i++) //Toon cijfers per vak
    {
        System.out.println("Vak/project:\t" + vakken[i] + "\tCijfer\t: " + cijfers[i] + "\tBehaalde punten: " + puntBehaald(i));
    }

В настоящее время он печатается так: enter image description here

Но я бы хотел, чтобы печатная строка выглядела примерно так: enter image description here

Но я просто не могу понять, кто-нибудь знает, как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Так что я сейчас использую это как код:

 for (int i = 0; i < AANTAL_CIJFERS; i++) //Toon cijfers per vak
    {
        System.out.printf(format, "Vak/project: ", vakken[i]);
        System.out.printf(format, "Cijfer: ", cijfers[i]);
        System.out.printf(format, "Behaalde punten: ", puntBehaald(i));
        System.out.printf("\n");
    }

Что дает это: enter image description here

Так что это явно не работает так, как я ожидал от документации. Что я делаю неправильно? Должно быть: Vak / project: "output from vakken [i]" TAB Cijfer: "output from cijfers [i]" TAB Behaalde punten: "output from puntBehaald (i)".

Это мой формат сейчас: private static String format = "%-20s%s";

0 голосов
/ 16 сентября 2018

В этом случае вы должны использовать java System.out.printf() или String.format() методы вместо System.out.print() или System.out.println()

Пожалуйста, прочтите это примеры как использовать форматирование с-printf-правильно-in-java и столбцы табуляция-не-результат-в-выравнивании для получения дополнительной информации.

Также вот полезная статья java-string-format-examples

Я просто обновляю код следующим образом, и он отлично работает со мной:

 private static String format = "%s %-30s  ";
private static String format2 = "%s %3s  ";
 . 
 .

    for (int i = 0; i < AANTAL_CIJFERS; i++) //Toon cijfers per vak
    {
        System.out.printf(format, "Vak/project: ", vakken[i]);
        System.out.printf(format2, "Cijfer: ", cijfers[i]);
        System.out.printf(format2, "Behaalde punten: ", puntBehaald(i));
         System.out.printf("%n");
    }
...