arckép

Neuwirth István

programtervező informatikus MSc – ELTE

Computational and Software Techniques MSc – Cranfield, UK

Elérhetőség
pitta2@gmail.com
+36 30 329 3039

Valid XHTML 1.0 Transitional

Valid CSS!

8. óra (2017.11.06.)

Diák

gyak7.pdf (megoldás) (a 7. óra az október 23-i ünnepnap miatt elmaradt)

gyak8.pdf

Feladatok

A zárthelyire való gyakorlásként oldjátok meg a gyak8.pdf diasoron részletezett feladatot.

String és kimenet formázása

A String.format metódus segítségével StringBuilder és stringek konkatenációja nélkül tudunk formázni, részstringeket összefűzni és a szövegen belül számokat a kívánt alakra hozni.

String formatted = String.format("A %d darab hordoban osszesen %f liter %s talalhato.", numberOfBarrels , totalCapacity, typeOfLiquid);
// -> "A 13432 darab hordoban osszesen 180,574326 liter bor talalhato."

Haladó formázási opciók: ezres csoportosítás és tizedesjegyek száma:

String formatted = String.format("A %,d darab hordoban osszesen %.3f liter %s talalhato.", numberOfBarrels , totalCapacity, typeOfLiquid);
// -> "A 13 432 darab hordoban osszesen 180,574 liter bor talalhato."

Haladó formázási opciók: padding nullákkal (itt a példában 9 szélességűre):

String formatted = String.format("%09d", 12);
// -> "000000012"

A formázás kimenetele függ a területi beállításoktól, ha minden körülmények között például szóközt szeretnénk látni (ami a magyar területi beállítások alapértelmezett értéke) ezres csoportosításnál, adjunk meg explicit Local-t.

import java.util.Locale;
...
String formatted = String.format(new Locale("hu"), "A %,d darab hordoban osszesen %.3f liter %s talalhato.", numberOfBarrels , totalCapacity, typeOfLiquid);
// -> "A 13 432 darab hordoban osszesen 180,574 liter bor talalhato."

Fájlokba és a standart kimenetekre közvetlen is írhatunk formázott szövegeket, általában printf nevű metódussal. Arra figyelnünk kell, hogy egy println vagy a formázandó stringbe egy %n fűzésével ilyenkor saját magunknak kell gondoskodnunk a sorvége jelekről. Példa:

System.out.printf("A %,d darab hordoban osszesen %.3f liter %s talalhato.%n", numberOfBarrels , totalCapacity, typeOfLiquid);

Vissza