Стандартный вывод
Данные производимые программой называются выводом. Этот вывод может направляться на различные устройства. Java программы могут посылать вывод в окно терминала используя объект, который называется стандартный вывод (standard out). Доступ к этому объекту может быть получен через публичное статическое финальное поле out в классе System. Стандартный вывод является объектом класса java.io.PrintStream, который предоставляет методы для печати значений. Эти методы преобразуют значения к их строковому представлению и печатают результирующие строки.System.out.println("Original string: " + str); System.out.print("Reversed string: "); System.out.println();
Форматированный вывод
Чтобы получить больше контроля над печатаемыми значениями, можно создать форматированный вывод. Для этого у класса java.io.PrintStream есть следующий метод:
Ошибки в аргументе format приведут к ошибке среды исполнения.
System.out.printf("Formatted values|%5d|%8.3f|%5s|%n", // Format string 2016, Math.PI, "Hi"); // Values to format // Formatted values| 2016| 3.142| Hi|
Буква в спецификаторе формата обозначает тип значения для форматирования.
%n - это зависимый от платформы разделитель строк.
В приведенном выше примере выравнивание делается по правому краю.
Пример форматированного вывода:
%n - это зависимый от платформы разделитель строк.
В приведенном выше примере выравнивание делается по правому краю.
Примеры спецификаторов формата |
Пример форматированного вывода:
// File: Invoice.java public class Invoice { public static void main(String[] args) { System.out.printf("Secure Data Inc. "); System.out.printf("%02d/%02d/%04d, %02d:%02d%n%n", 2, 13, 2016, 11, 5); System.out.printf("%-20s%7s%9s%8s%n", "Item", "Price", "Quantity", "Amount"); int quantity = 4; double price = 120.25, amount = quantity*price, total = amount; String itemFormat = "%-20s%7.2f%9d%8.2f%n"; System.out.printf(itemFormat, "FlashDrive, 250GB", price, quantity, amount); quantity = 2; price = 455.0; amount = quantity*price; total = total + amount; System.out.printf(itemFormat, "Ultra HD, 4TB", price, quantity, amount); quantity = 1; price = 8.50; amount = quantity*price; total = total + amount; System.out.printf(itemFormat, "USB 3.0 cable", price, quantity, amount); System.out.printf("%-36s%8.2f%n", "Total:", total); } } /* Secure Data Inc. 02/13/2016, 11:05 Item Price Quantity Amount FlashDrive, 250GB 120.25 4 481.00 Ultra HD, 4TB 455.00 2 910.00 USB 3.0 cable 8.50 1 8.50 Total: 1399.50 */
Комментариев нет:
Отправить комментарий