В классе PrintStream у метода printf () две синтаксические формы записи:
PrintStream printf(String fmtString, Object...args)
PrintStream printf(Local loc, String fmtString, Object...args)
В первом варианте аргументы &rgs записываются в стандартный поток вывода в формате, заданном в параметре fmtString, используя региональные настройки (locale), принятые по умолчанию. Во втором варианте Вам предлагается задать региональные настройки. Оба варианта возвращают вызывающий объект типа Printstream. Поскольку system.out — объект типа PrintStream, Вы можете вызывать метол printf () прямо для объекта system.out.
Варианты метода printf () для класса Printwriter приведены в следующих строках:
PrintWriter printf(String fmtString, Object...args)
PrintWriter printf(Local loc, String fmtString, Object...args)
Они выполняются точно так же, как и в классе printstream за исключением того, что возвращают объект типа PrintWriter.
В листинге 9.11 приведен пример программы, использующей метод printf() для вывода числовых значений в различных форматах. В прошлом подобное форматирование требовало существенной работы. С появлением метода printf () оно превратилось в легко решаемую задачу.
Листинг 9.11.Демонстрация применения метода printf()
class PrintfDemo {
public static void main(String args[]) {
System.out.println("Here are some numeric values " +
"in different formats.\n");
System.out.printf("Various Integer formats: ");
System.out.printf("%d %(d %+d %05d\n", 3, -3, 3, 3);
System.out.println();
System.out.printf("Default floating-point format: %f\n",
1234567.123);
System.out.printf("Floating-point with commas: %,f\n",
1234567.123);
System.out.printf("Negative floating-point default: %,f\n",
-1234567.123);
System.out.printf("Negative floating-point option: %,(f\n",
-1234567.123);
System.out.println();
System.out.printf("Line-up positive and negative values:\n");
System.out.printf("% ,.2f\n% ,.2f\n",
1234567.123, -1234567.123);
}
}
Далее приведен вывод результатов программы из листинга 9.11:
Here are some numeric values in defferent formats.
Various Integer formats: 3 (3) +3
Default floating-point format: 1234567.123000 Floating-point with commas: 1,234,567.123000
Negative floating-point default: -1,234,567.123000 Negative floating-point option: (1,234,567.123000)
Line-up positive and negative values:
1, 234,567.123000
-1, 234,567.123000
|