6.5.2 Formatter 클래스 사용하여 포멧에 맞게 출력
출간일 2016년 11월 28일
판매가 2000원
형태 ebook
이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.
학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.
언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.
Java 언어에서는 Formatter 클래스를 제공하여 원하는 형태로 출력을 지정할 수 있습니다. Formatter 클래스는 다양한 출력에 사용할 수 있는데 여기에서는 출력에 사용할 문자열을 만드는 방법에 관해서만 다루고 있습니다.
출력 포멧을 정하는 방법은 앞에서 소개한 String 클래스의 format 메서드의 포멧 지정자와 같은 방법입니다.
%[index$][flags][width]type
특히 Formmater 클래스의 format 메서드를 여러 번 사용한 후에 단 한 번의 출력 구문으로 전체를 출력할 수 있는 장점이 있습니다. 만약 현재까지 format 메서드를 사용한 것을 지우기를 원한다면 flush 메서드를 사용할 수 있습니다.
다음은 Formatter 클래스를 이용하여 원하는 포멧에 맞게 출력하는 예제입니다.
//Formatter 클래스를 이용하여 원하는 포멧으로 출력 import java.util.*; public class Program { public static void main(String[] args){
Formatter form = new Formatter();
form.format("== 타입 지정==%n"); form.format("10 진수%d%n", 20); form.format("16 진수%x%n", 20); form.format("8 진수%o%n", 20); form.format("실수 %f%n", 3.5); form.format("문자열 %s%n", "Hello");
form.format("== 인덱스 지정==%n"); form.format("%1$d %2$s%n", 23,"홍길동"); form.format("10진수:%1$d 8진수:%1$o 16진수:%1$x%n", 20);
form.format("== flags 지정==%n"); form.format("[디폴트 정렬 %10d]%n", 27); form.format("[왼쪽 정렬 %-10d]%n", 27); form.format("[부호 표시 %+10d]%n", 27); form.format("[타입 명시 %#10x]%n", 27); form.format("[0 채우기 %010d]%n", 27); form.format("[음수는 괄호로 %(10d]%n", -27); form.format("[양수는 공백 % d]%n", 27); form.format("[양수는 공백 % d]%n", -27); System.out.println(form.toString()); form.flush(); form.format("flush 테스트%n"); System.out.println(form.toString()); } } |
== 타입 지정== 10 진수20 16 진수14 8 진수24 실수 3.500000 문자열 Hello == 인덱스 지정== 23 홍길동 10진수:20 8진수:24 16진수:14 == flags 지정== [디폴트 정렬 27] [왼쪽 정렬 27 ] [부호 표시 +27] [타입 명시 0x1b] [0 채우기 0000000027] [음수는 괄호로 (27)] [양수는 공백 27] [양수는 공백 -27]
== 타입 지정== 10 진수20 16 진수14 8 진수24 실수 3.500000 문자열 Hello == 인덱스 지정== 23 홍길동 10진수:20 8진수:24 16진수:14 == flags 지정== [디폴트 정렬 27] [왼쪽 정렬 27 ] [부호 표시 +27] [타입 명시 0x1b] [0 채우기 0000000027] [음수는 괄호로 (27)] [양수는 공백 27] [양수는 공백 -27] flush 테스트 |
[소스 6.27] Formatter 클래스를 이용하여 원하는 포멧으로 출력 예
'언어 자료구조 알고리즘 > 디딤돌 Java 언어 Part1' 카테고리의 다른 글
[Java] 6.6.2 다차원 배열과 Jagged 배열 (0) | 2016.11.23 |
---|---|
[Java] 6.6.1 배열과 반복문 (0) | 2016.11.23 |
[Java] 6.6 배열 (0) | 2016.11.23 |
[Java] 6.5 포멧터, 6.5.1 String 클래스의 정적 메서드 format (0) | 2016.11.21 |
[Java] 6. 4 기본 형식의 래퍼 클래스 (0) | 2016.11.20 |
[Java] 6.3.6 StringBuffer 개체에서 String 개체 얻기 (0) | 2016.11.20 |
[Java] 6.3.5 StringBuffer 클래스의 replace, reverse 멤버 메서드 (0) | 2016.11.20 |
[Java] 6.3.4 StringBuffer 클래스 insert 멤버 메서드로 원하는 위치에 추가 (0) | 2016.11.20 |
[Java] 6.3.3 StringBuffer 클래스 개체의 원하는 위치 문자 제거 (0) | 2016.11.20 |
[Java] 6.3.2 StringBuffer 클래스의 append 멤버 메서드 (0) | 2016.11.20 |