Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
61
Добавлен:
08.06.2015
Размер:
562.18 Кб
Скачать

java.util.Formatter

Важные методы

Formatter format(String fmtString,

Object ... args)

Форматирует указанные аргументы в соответствии со строкой форматирования

Formatter format(Locale

loc,

String

fmtString,

Object

... args)

Форматирует указанные аргументы в соответствии со строкой форматирования и указанной локализацией

11

java.util.Formatter

Важные методы

IOException ioException()

Возвращает объект исключения, генерируемый объектом-приемником, иначе null

Appendable out()

Возвращает ссылку на объек-приемник выходных данных

Locale locale()

Возвращает ссылку на объект локализации

12

java.util.Formatter

Важные методы

String toString()

Возвращает объект типа String, содержащий отформатированный вывод

void flush()

Переносит информацию из буфера форматирования

void close()

Закрывает объект форматировщика, освобождает ресурсы

13

Строка форматирования

Строка форматирования состоит из:

простых символов Просто копируются в вывод

спецификаторов формата Определяют способ отображения аргументов

Спецификатор формата:

знак процента (%)

преобразующий спецификатор формата

Formatter fmt = new Formatter(); fmt.format("Formatting %s is easy! %d %f",

"with Java", 15, 12.3);

14

Преобразующие спецификаторы формата

Спецификатор

Преобразование

%a %A

Шестнадцатеричное значение с плавающей точкой

%b %B

Булево значение

%c %C

Символьное значение

%d

Десятичное целое значение

%h %H

Хэш-код аргумента

%e %E

Экспоненциальное представление аргумента

%f

Десятичное значение с плавающей точкой

%g %G

Выбирает более короткое представление из двух: %f и %e

%o

Восьмеричное целое значение аргумента

%n

Символ новой строки

%s %S

Строковое представление аргумента

%t %T

Время и дата

%x %X

Шестнадцатеричное целое значение аргумента

%%

Знак процента

15

Возможности форматирования

Порядковый номер аргумента

Позволяет использовать не текущий аргумент, а заданный

fmt.format("%3$d %2$d %1$d", 1, 2, 3); // 3 2 1

Относительный номер

Позволяет несколько раз вывести одно и то же значение без явной нумерации

Calendar c = Calendar.getInstance(); fmt.format("Today is day %te of %<tB, %<tY", c); // Today is day 4 of December, 2006

16

Возможности форматирования

Управление регистром вывода

fmt.format("Some %s", "String"); //Some String fmt.format("Some %S", "String"); //Some STRING

Сложное форматирование времени и даты

fmt.format("Now is %tH:%<tM of %<td.%<tm.%<ty \n", c); fmt.format("Now is %tl:%<tM%<tp of %<te %<tB %<tY \n", c);

//Now is 20:03 of 04.10.09

//Now is 8:03pm of 4 October 2009

Задание минимальной ширины поля

fmt.format("%3s %3s %3s %3s ", "1", "22", "333", "4444");

//1 22 333 4444

17

Возможности форматирования

Задание точности вывода для вещественных значений

fmt.format("%10.2f %10.8f", Math.PI, Math.PI);

// 3.14 3.14159265

Выравнивание вывода

fmt.format("%-10.2f|%10.2f", Math.PI, Math.PI); // 3.14 | 3.14

Разделение групп цифр и т.д.

fmt.format("%,d", Integer.MAX_VALUE); // 2,147,483,647

18

Метод printf()

Автоматически создает и использует экземпляр класса Formatter

Объявлен в классах:

java.io.PrintWriter

java.io.PrintStream

Имеет такие же параметры, что и метод

Formatter.format()

19

java.util.Scanner

Конструкторы

Задают один из возможных источников данных

С указанием кодовой таблицы и без

File

InputStream

java.nio.channels.ReadableByteChannel

Используя Unicode

Readable

String

20

Соседние файлы в папке Лекции