달력

092018  이전 다음

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
  •  
  •  
  •  
  •  

필요는 사람을 집중하게 만든다.

C에서 sprintf기능을 하는게 Java에 있는지 알아보던중, MessageFormat이라는것을 알게되었다.

Java에서는 String의 개념이 있어서 '+'연산으로 다 가능해 그다지 쓸모는 없지만.....;; 그래도 알면 좋다는 신념아래

알아보기로 했다.


//C의 sprintf는
char form[50] = "age : %d, area : %s\n";
char output[200];
sprintf(output, form, 26, "오산");
printf("output : %s\n", output);

//뭐 이런식인데 Java의 MessageFormat은 String form = "age: {0}, area: {1}"; System.out.println(MessageFormat.format(form, new Object[]{age, area}));

 

다음과 같이 사용할수 있다.

import java.text.MessageFormat;
import java.util.Date;
import java.io.*;

public class Test{ // private static final String patternSimplifiedData = "내이름은 {0} 이고 나이는 {1}이다. 사는곳은 {2}이며 {3}를 꿈꾸고 있다."; // public static void main(String[] args) // { // String area = "오산"; // System.out.println(MessageFormat.format(patternSimplifiedData, // new Object[] { "강한구", "19", area, "간지나는 개발자"})); // } public static void main(String[] args) { Object[] arguments = { new Integer(7), new Date(System.currentTimeMillis()), "a disturbance in the Force" };
String result = MessageFormat.format( "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.", arguments); System.out.println("result :" + result);
} }

출력 :


더 많은 예제는 아래에 있다.

출처 : http://java.sun.com/j2se/1.4.2/docs/api/java/text/MessageFormat.html

Posted by 오산돌구
TAG