Rozteč výstupu v jazyce Java

Programy Java bez grafického uživatelského rozhraní používají příkazový řádek počítače k ​​interakci s uživatelem. Je velmi důležité, aby výstup příkazového řádku programu byl správně formátován a rozložen tak, aby byl pro uživatele srozumitelný. Výstup můžete ručně umístit pomocí smyček nebo pomocí třídy Formátorem Java.

Monospaced Fonts

Monospaced fonts jsou písma, ve kterých každé písmeno zachycuje stejný prostor jako ostatní písmena v písmu. Například v monospaced písmo, znak "i" zabírá stejný prostor jako znak "m." Spouštění programů Java v prostředí s monospaced fonty, jako je příkazový řádek Windows nebo terminál Macintosh, umožňuje uspořádat a formátovat text do čistých sloupců počítáním počtu znaků v každém řádku.

Manuální rozestup

Nejjednodušší způsob, jak správně prostorovat váš výstup v Javě, je přidání ručního rozložení. Například k vygenerování tří různých celých čísel "i", "j" a "k" s mezerou mezi každým celým číslem použijte následující kód:

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

Pokud jsou hodnoty "i", "j" a "k" 25, 6 a 31, programové výstupy "25 6 31." Primární nevýhodou této metody je nedostatečné zohlednění počtu znaků v každém celé číslo. Pokud vytisknete tři řádky rovnoměrně rozložených sloupců, druhý sloupec nebude mít stejnou šířku jako první dvě. Pokud v dalším řádku byly hodnoty 6, 8 a 2, sloupce by byly úplně nesprávné.

Formátovací mezery

Třída formátu Java vám umožňuje formátovat data před výstupem. Pomocí formátoru můžete definovat maximální šířku hodnoty a formátovač pak automaticky vyplní hodnotu prázdnými mezerami, aby se ujistil, že má stejnou šířku. Pokud vytvoříte několik hodnot se stejnými možnostmi formátování, můžete zajistit, že na výstupním řádku zabírají stejný prostor. Výstup formátovaného segmentu textu je jednoduchý - namísto použití "System.out.print (), " použijte "System.out.format ()." Způsob formátování trvá dva vstupy místo jediného vstupu, který používá metoda tisku. První vstup je řetězec reprezentující formátování, které má být použito na výstupu a druhý vstup je samotný výstup. Chcete-li vytisknout tři celočíselná čísla s maximálně třemi znaky v každém a mezery mezi nimi, použijte následující kód:

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

"% 4" v první části formátovacího řetězce označuje, že by měl program používat čtyři znaky pro vytisknutí každého čísla. Pokud celé číslo má pouze dva znaky, ostatní dva znaky budou prázdné. Hodnota "d" ve formátovém řetězci označuje, že výstupní hodnota je desetinné celé číslo. Poslední řádek kódu "System.out.println ()" přesune kurzor na další řádek kódu.

Loop Spacing

Formátovací třída vyžaduje rozsáhlé znalosti o řetězcích použitých k definování výstupního formátu. Můžete však místo toho použít kombinaci smyček k dosažení složitějších vzdáleností bez nutnosti komplikovaných formátovacích řetězců. Smyčky jsou obzvláště užitečné při pokusu dosáhnout rovnoměrného rozestupu mezi více řetězci. Můžete například vzít dvě řetězová pole a zobrazit jejich obsah ve dvou paralelních sloupcích pomocí dvou smyček. První smyčka prochází oba pole a zjistí délku nejdelšího řetězce v jednom poli. Druhá smyčka znovu prochází pole. Vytiskne řetězec z prvního pole a odečte délku prvního řetězce od délky nejdelšího řetězce v jednom poli, aby zjistil, kolik prostorů potřebuje umístit před dalším sloupcem. Program potom vytiskne tento počet míst s následující vnořenou smyčkou:

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

Po vytištění správného počtu mezer vytiskne druhý řetězec. Tím vytvoříte dva rovnoměrně rozmístěné sloupce řetězců bez nutnosti formátování Java.

 

Zanechte Svůj Komentář