www.fatihkabakci.com

Personal Website and Computer Science TUR EN

JAVA FORMATTER

Last update: 10/3/2014 6:32:00 PM

Yazan:Fatih KABAKCI

Uygulamalarınız içerisinde kullanıcıya gösterilen bir takım verileri biçimlendirildiği zaman daha anlamlı bir çıktıya dönüşebilir. Örnekler arasında bir para biriminin belirtilen ondalık basamağında görüntülenmesi veya bir tablonun istenilen biçimde gösterilebilmesi verilebilir. Java Programlama Dili verilerinizi istediğiniz biçimde formatlamaya izin veren java.util.Formatter sınıfını sunmaktadır. Formatter, konsola, bir dosyaya veya bir akışa yazacağınız verileri biçimlendirerek farklı formatlarda çıktı oluşturmanıza olanak sağlar.

Biçimlendirme Belirteçleri(Conversion Specifiers)

Belirteç 1Belirteç 2Görevi
%a%AOnaltılık Ondalıklı Sayı
%b%BBoolean
%cchar
%dint
%h%HHash Kod
%e%EBilimsel(Scientific) Notasyon
%ffloat
%g%G%e - %f arasındaki en kısa olan veri
%oSekizli(Octal) Sayı
%nYeni Satır(New Line)
%s%sString
%t%TTarih ve Saat(Date and Time) Belirteçleri
%x%XHexadecimal
%%% Karakterinin kendisi

Tarih ve Saat Biçimlendirme Belirteçleri(Date & Time Conversion Specifiers)

BelirteçGörev
%taKısa Gün Adı.Örn:Per(Thu)
%tATam Gün Adı.Örn:Perşembe(Thursday)
%tbKısa Ay Adı.Örn:Nis(Apr)
%tBTam Ay Adı.Örn:Nisan(April)
%tcJava Date Çıktısı
%tCYılın ilk iki basamağı.Örn:2014 için 20.
%tdİki Rakamlı Ayın Günü.Örn(01-31)
%tDAy-Gün-Yıl. Örn(05-09-2014)
%teAyın Günü.Örn(1-31)
%tFYıl-Ay-Gün.Örn(2014-05-09)
%th%b ile aynı.
%tH00-23 Saat Bilgisi.
%tI01-12 Saat Bilgisi.
%tjYılın Günleri(001-366).
%tk0-23 Saat Bilgisi.
%tl1-12 Saat Bilgisi.
%tLMilisaniye(000-999).
%tmAy Bilgisi(01-12).
%tMDakika Bilgisi(00-59).
%tNNanoSaniye Bilgisi(00-59).
%tpKonuma Göre AM/PM.
%tQ1/1/1970'ten itibaren milisaniye.
%tr12 saatlik biçim ss:dd.
%tR24 saatlik biçim ss:dd.
%tSSaniye(00-60).
%ts1/1/1970 UTC'ten itibaren saniye.
%tT24 saatlik biçim ss:dd:ss.
%tyYıl Bilgisi(00-99).
%tYYıl Bilgisi(0001-9999).
%tzUTC Öteleme Bilgisi.
%tZZaman Bölge Bilgisi.

Formatter sınıfının, nesnesi oluşturulduktan sonra format() metotları yardımıyla veri biçimlendirilir ve ekrana yazdırılır.format() metodu yukarıdaki tabloda gösterilen her bir belirteç'e karşılık gelen vargargs argümanlarını eşleştirerek çıktıya yazar.

Temel Formatter Örneği

Formatter hem parametresiz kurucu metodunda tanımlanan StringBuilder nesnesi, hemde bir dosya ile çalışabilmektedir. Aşağıdaki örnekte her iki yöntemde gösterilmiştir.
package com.fatihkabakci.util.pck;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Formatter;

/**
 * 
 * @author www.fatihkabakci.com
 *
 */
public class JFormatter {

   public static void main(String args[]) {
      
      Formatter formatter = new Formatter();
      formatter.format("Number:%d String:%s Floating Number:%f Hex:%X",1,"Hello",3.4,11);
      System.out.println(formatter);
      formatter.format("%n%S", "hello world");
      System.out.println(formatter);
      
      try {
         Formatter formatFile = new Formatter(new File("src/com/fatihkabakci/util/data/formatFile.txt"));
         formatFile.format("%S", "Hello World");
         formatFile.flush();
         formatFile.close();
      }
      catch (FileNotFoundException e) {
         e.printStackTrace();
      }
   }
}

Date Kullanan Formatter Örneği

package com.fatihkabakci.util.pck;

import java.util.Calendar;
import java.util.Formatter;

/**
 * 
 * @author www.fatihkabakci.com
 *
 */
public class JFormatterForDate {

   public static void main(String args[]) {
      
      Formatter fmt = new Formatter();
      Calendar calendar = Calendar.getInstance();
      fmt.format("Bu gün, günlerden: %tA", calendar); // zaman için t ekini getirerek diğer belirteç harflerini ekliyosun. örneğin tA - gün adı
      fmt.format("%nŞu an Tarih: %tF", calendar);
      fmt.format("%nŞu an Tarih: %td/%tm/%tY", calendar,calendar,calendar);
      fmt.format("%nŞu an Saat: %tr", calendar);
      fmt.format("%nŞu an Saat: %tH:%tM:%tS:%tL:%tN",calendar,calendar,calendar,calendar,calendar);
      System.out.println(fmt);
   }
}

Formatter ile Çarpım Tablosu

Aşağıdaki örnekte ise ilköğretim müfredatında bulunan klasik 10'luk çarpım tablosu programı verilmiştir.

package com.fatihkabakci.util.pck;

import java.util.Formatter;

/**
 * 
 * @author www.fatihkabakci.com
 * @Output
 *                          Calculater V 1,0 

         1 x 1   =  1         2 x 1   =  2         3 x 1   =  3
         1 x 2   =  2         2 x 2   =  4         3 x 2   =  6
         1 x 3   =  3         2 x 3   =  6         3 x 3   =  9
         1 x 4   =  4         2 x 4   =  8         3 x 4   = 12
         1 x 5   =  5         2 x 5   = 10         3 x 5   = 15
         1 x 6   =  6         2 x 6   = 12         3 x 6   = 18
         1 x 7   =  7         2 x 7   = 14         3 x 7   = 21
         1 x 8   =  8         2 x 8   = 16         3 x 8   = 24
         1 x 9   =  9         2 x 9   = 18         3 x 9   = 27
         1 x 10  = 10         2 x 10  = 20         3 x 10  = 30

         4 x 1   =  4         5 x 1   =  5         6 x 1   =  6
         4 x 2   =  8         5 x 2   = 10         6 x 2   = 12
         4 x 3   = 12         5 x 3   = 15         6 x 3   = 18
         4 x 4   = 16         5 x 4   = 20         6 x 4   = 24
         4 x 5   = 20         5 x 5   = 25         6 x 5   = 30
         4 x 6   = 24         5 x 6   = 30         6 x 6   = 36
         4 x 7   = 28         5 x 7   = 35         6 x 7   = 42
         4 x 8   = 32         5 x 8   = 40         6 x 8   = 48
         4 x 9   = 36         5 x 9   = 45         6 x 9   = 54
         4 x 10  = 40         5 x 10  = 50         6 x 10  = 60

         7 x 1   =  7         8 x 1   =  8         9 x 1   =  9
         7 x 2   = 14         8 x 2   = 16         9 x 2   = 18
         7 x 3   = 21         8 x 3   = 24         9 x 3   = 27
         7 x 4   = 28         8 x 4   = 32         9 x 4   = 36
         7 x 5   = 35         8 x 5   = 40         9 x 5   = 45
         7 x 6   = 42         8 x 6   = 48         9 x 6   = 54
         7 x 7   = 49         8 x 7   = 56         9 x 7   = 63
         7 x 8   = 56         8 x 8   = 64         9 x 8   = 72
         7 x 9   = 63         8 x 9   = 72         9 x 9   = 81
         7 x 10  = 70         8 x 10  = 80         9 x 10  = 90

        10 x 1   = 10
        10 x 2   = 20
        10 x 3   = 30
        10 x 4   = 40
        10 x 5   = 50
        10 x 6   = 60
        10 x 7   = 70
        10 x 8   = 80
        10 x 9   = 90
        10 x 10  = 100
 */
public class MultiplicationTable {

   public static void main(String[] args) {

      Formatter logger = new Formatter();
      
      logger.format("%35s %s %.1f %n", "Calculater","V",1.0);
      System.out.println(logger);
      
      int jump = 1;
      Formatter calculator;

      do {
         for (int i = 1; i <= 10; i++) { // calculation number
            for (int j = jump; j <= jump + 2; j++) { // coloumn nuber
               calculator = new Formatter();
               calculator.format("%10d x %-3d = %2d", j, i, i * j);
               if (j % 3 == 0) {
                  calculator.format("%n");
               }
               if (j < 10)
                  System.out.print(calculator);
               else if (j == 10)
                  System.out.println(calculator);
               else;
            }
         }
         System.out.println();
      } while ((jump = jump + 3) <= 10); // row number
   }
}
Yukarıdaki örnekler ışığı altında, Formatter verilerinize istediğiniz biçimleri vererek onları kolaylıkla ifade edebilmenize olanak sağlar.
There has been no comment yet

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.