Относительно новичок в Java, учился в старших классах и до сих пор учился только в одном колледже, так что простите, если это простой вопрос, но я не знал, как найти ответ в Интернете, так как я не знаюзнать, как правильно сформулировать вопрос для поиска.Я пытаюсь исправить интервал в выводе моей программы.Программа использует несколько массивов для хранения информации о собаках, таких как name
, breed
, age
и т. Д., И распечатывает ее в определенном формате.
Вот как должен выводиться результат.выглядеть так:
Мой вывод распечатывается путем вызова метода printTitle()
для вывода заголовка над информацией о собаке, а затем с помощью цикла для вывода информации о каждой собаке.Вот код для printTitle()
:
void printTitle() {
System.out.print("Happy Pet Discount Shop\nToday\'s List of Available Pet Dogs For Sale"
+ "\n==============================================================================================="
+ "\nName\tbreed\tage\tin human age\tRegular price\tDisc rate\tOn sale price"
+ "\n------------------------------------------------------------------------------------------------");
}
Вот код, где я звоню printTitle()
и использую цикл для печати информации о собаке.Примечание: printEndOfList()
распечатывает некоторые вещи после цикла, с этим проблем нет, но я все равно их включу.Вот код для цикла:
dogNames[0].printTitle();
for(int i = 0; i < dogNames.length; i++) {
System.out.println("\n" + dogNames[i].getName()
+ "\t" + dogBreeds[i].getBreed()
+ "\t" + dogAges[i].getAge()
+ "\t" + dogAges[i].getAIHY() //get age in human years
+ "\t" + dogRP[i].getRP() //get regular price of dog
+ "\t" + dogDp[i].get_dPct() //get discount percentage on price of dog
+ "\t" + dogRP[i].getRP()*(1 - dogDp[i].get_dPct()/100) + "\n"); //final price of the dog
}
dogNames[0].printEndOfList();
В качестве примера я сделаю 2 собаки, вот как будет выглядеть вывод при запуске:
Happy Pet Discount Shop
Today's List of Available Pet Dogs For Sale
===============================================================================================
Name breed age in human age Regular price Disc rate On sale price
------------------------------------------------------------------------------------------------
Balto Siberian Husky 8 52 1300.0 25.0 975.0
Scoopy Great Dane 13 77 1100.0 25.0 825.0
======================== End of List ==============================
Request within for price. Any reasonable offer is considered
We accept cash & credit card no American Express
Так что код работает, но как я могу получить информацию о каждой собаке, чтобы выстроиться под заголовком?Все имена собак должны совпадать с Name
, все породы собак с breed
и так далее.Как мне сделать это для всех собак?Собаки и их информация вводятся пользователем, поэтому в зависимости от того, насколько длинными или короткими являются имена и другая информация, которую они вводят, интервал выглядит по-разному.Как мне последовательно выстроить его под заголовком?