posted Oct 9, 2011 3:14 AM by Editor KursusInternet
[
updated Oct 9, 2011 8:45 AM
]
Pendahuluan
PrintStream adalah salah satu jenis OutputStream yang menambahkan beberapa fungsionalitas seperti melakukan format. Lain halnya dengan stream output lainnya, PrintStream tidak menghasilkan exception tetapi kita dapat menghasilkan dan memeriksa error dengan method setError dan checkError.
Objek statis System.out barangkali merupakan PrintStream yang paling terkenal. Dan pada artikel ini, penulis akan coba memberikan beberapa contoh penggunaan formatting pada objek System.out ini.
Syntax untuk string formatting pada PrintStream adalah sebagai berikut (selalu didahului tanda persen) :
%[argument_index$][flags][width][.precision]conversion Keterangan - syntax format ini bisa digunakan pada method format maupun printf.
- argument_index$ : merupakan angka yang menunjukkan urutan / index dari argument yang digunakan (opsional). Sebagai contoh, untuk merujuk ke argumen ke 2 maka kita tuliskan 2$.
- flags : merupakan karakter yang akan memodifikasi bagaimana output dari hasil conversion ingin dihasilkan, sebagai contoh jika kita ingin merapikan secara kiri atau kanan (left / right justify). Karakter flags ini bersifat opsional.
- width : adalah jumlah digit angka / karakter yang ingin ditampilkan (opsional).
- .precision : adalah jumlah angka desimal yang ingin ditampilkan, jumlah ini akan mengurangi porsi dari width (opsional).
- conversion : adalah karakter utama yang menentukan konversi output. Sebagai contoh : karakter b akan mengkonversi nilai argumen menjadi true dan false saja.
Contoh PenggunaanBerikut adalah contoh potongan program Java untuk variasi penggunaan formatting yang telah dijelaskan di atas.
package com.kursusinternet.io;
public class TulisFormat { public static void main(String[] args) { int angka1 = 159; Integer angka2 = 220; double angka3 = 3.14159265358979323846; Integer angka4 = null; System.out.format("Desimal biasa : %d \r\n",angka1); System.out.format("Hexadecimal : %X \r\n",angka1); System.out.format("Hexadecimal dengan prefix : %#X \r\n",angka1); System.out.format("Desimal (argumen kedua) : %2$d \r\n",angka1, angka2); System.out.format("Hexadecimal dengan prefix (argumen kedua) : %2$#X \r\n",angka1, angka2); System.out.format("Angka pecahan (rata kanan) : %8.5f \r\n",angka3); System.out.format("Angka pecahan (rata kiri) : %-8.5f \r\n",angka3); System.out.format("Angka pecahan (rata kiri) : %-8.5f \r\n",angka4); System.out.format("Null = %b \r\n",angka4); System.out.format("220 = %b \r\n",angka2); } } |
Hasil EksekusiDesimal biasa : 159 Hexadecimal : 9F Hexadecimal dengan prefix : 0X9F Desimal (argumen kedua) : 220 Hexadecimal dengan prefix (argumen kedua) : 0XDC Angka pecahan (rata kanan) : 3.14159 Angka pecahan (rata kiri) : 3.14159 Angka pecahan (rata kiri) : null Null = false 220 = true
|
|