Интервал на изхода в Java

Java програмите без графичен потребителски интерфейс използват командния ред на компютъра, за да взаимодействат с потребителя. Изключително важно е изходът на командния ред на програмата да бъде правилно форматиран и разпределен, така че да бъде разбираем за потребителя. Можете да разпределите изхода си ръчно с цикли или чрез класа Formatter на Java.

Монопространствени шрифтове

Монопространствените шрифтове са шрифтове, при които всяка буква заема същото пространство като останалите букви в шрифта. Например, в монопространствен шрифт, символът „i“ заема същото количество пространство като символа „m“. Изпълнението на Java програми в среда с монопространствени шрифтове, като например командния ред на Windows или терминала Macintosh, ви позволява да подреждате и форматирате текста си в чисти колони, като броите броя на символите във всеки ред.

Ръчно разстояние

Най-простият начин за правилно разпределение на изхода в Java е чрез добавяне на ръчен интервал. Например, за да изведете три различни цели числа „i“, „j“ и „k“, с интервал между всяко цяло число, използвайте следния код:

System.out.println (i + "" + j + "" + k);

Ако стойностите на "i," "j" и "k" са съответно 25, 6 и 31, програмата извежда "25 6 31." Основният недостатък на този метод е липсата на внимание върху броя на символите във всяко цяло число. Ако отпечатате три реда равномерно разположени колони, втората колона няма да бъде със същата ширина като първите две. Ако следващият ред съдържаше стойностите 6, 8 и 2, колоните щяха да бъдат напълно неправилно подравнени.

Разстояние между форматите

Класът Formatter на Java ви позволява да форматирате данни, преди да бъдат изведени. С Formatter можете да дефинирате максималната ширина на стойност и след това Formatter автоматично добавя стойността с празни интервали, за да се увери, че е със същата ширина. Ако изведете няколко стойности с еднакви опции за форматиране, можете да се уверите, че те ще заемат едно и също място в изходния ред. Извеждането на форматиран сегмент от текст е просто - вместо да се използва "System.out.print ()," използвайте "System.out.format ()." Методът за форматиране взема два входа вместо единичния вход, който използва методът за печат. Първият вход е низ, представляващ форматирането, което трябва да се приложи към изхода, а вторият вход е самият изход. За да отпечатате три цели числа с максимум три знака във всяка и едно интервал между тях,използвайте следния код:

System.out.format ("% 4d", i); System.out.format ("% 3d", j); System.out.format ("% 3d", k); System.out.println ();

„% 4“ в първия раздел на низа за формат показва, че програмата трябва да използва четири знака за отпечатване на всяко цяло число. Ако цялото число е само два знака, другите два знака ще бъдат празни интервали. "D" във формата низ показва, че изходната стойност е десетично цяло число. Последният ред на кода "System.out.println ()" премества курсора на следващия ред на кода.

Разстояние между контурите

Класът Форматиране изисква обширни познания за низовете, използвани за дефиниране на изходния формат. Вместо това обаче можете да използвате комбинация от цикли, за да постигнете по-сложни разстояния, без да са необходими сложни форматирани низове. Циклите са особено полезни, когато се опитвате да постигнете равномерно разстояние между множество низове. Например можете да вземете два масива от низове и да покажете съдържанието им в две паралелни колони, като използвате два цикъла. Първият цикъл преминава през двата масива и намира дължината на най-дългия низ във всеки масив. Вторият цикъл отново преминава през масивите. Той отпечатва низа от първия масив и след това изважда дължината на първия низ от дължината на най-дългия низ във всеки масив, за да разбере колко интервали трябва да постави преди следващата колона.След това програмата отпечатва този брой интервали със следния вложен цикъл:

за (int i = 0; i <numSpaces; i ++) {System.out.print (""); }

След отпечатване на правилния брой интервали, той отпечатва втория низ. Това създава две равномерно разположени колони от низове, без да е необходим Formatter на Java.