не могу заставить string.format в переопределении класса работать правильно

Я написал класс и создал функцию переопределения toString() в своем классе. Я пытаюсь заставить его распечатать большой список данных с правильным форматированием. Я пытался отформатировать его как printf, но он не работает должным образом.

public String toString() {
                return String.format("CRN:" + "%30s", crnNum + "\n" + "Department:" + "%30s", deptCode + "\n" + "Course Number:"
                + "%30s", courseNum + "\n" + "Mode of Instruction:" + "%30s", instructMode + "\n", "Class Days:" + "%30s", meetingDays + 
                "\n" + "Class Times:" + "%30s", meetingTimesStart + "-" + meetingTimesEnd + "\n" + "Class Capacity:" + "%30s", classCapacity +
                "\n" + "Class Enrollment:" + "%30s", classEnrollment + "\n" + "Instructor ID:" + "%30s", instructorID);
}

Это правильно форматирует первую строку

CRN:    crnNum

с правильным интервалом и переходит на новую строку, но вторая строка заканчивается как

Department:    %30s

и больше ничего не печатает. Что я делаю не так? Я никогда раньше не использовал String.format, поэтому я не уверен, что синтаксис полностью отличается, и я его испортил, или это что-то очевидное, что мне не хватает.


person Aaron C.    schedule 29.10.2017    source источник
comment
Строка формата должна быть одной строкой, передаваемой в качестве первого аргумента.   -  person tkausl    schedule 29.10.2017
comment
Вы не понимаете, как использовать String.format — сначала ознакомьтесь с учебным пособием. У вас должна быть только одна строка основного формата, а затем несколько объектов, разделенных запятыми, чтобы войти в спецификаторы формата строки.   -  person Hovercraft Full Of Eels    schedule 29.10.2017
comment
какой хороший учебник (легкий для понимания) использовать?   -  person Aaron C.    schedule 29.10.2017
comment
Google   -  person Hovercraft Full Of Eels    schedule 29.10.2017