概要

プログラム例

public class MessageFormatExample {

 public static void main(final String[] args) {
 	
   // JAPAN Localeのとき
   System.out.println("★★★★★★ Local.JAPAN ★★★★★★"); 
   Locale.setDefault(Locale.JAPAN);
   System.out.println(getNumberMessage());
   System.out.println(getDateMessage());
   System.out.println(getTimeMessage());
   // US Localeのとき
   System.out.println("★★★★★★ Local.US ★★★★★★"); 
   Locale.setDefault(Locale.US);
   System.out.println(getNumberMessage());
   System.out.println(getDateMessage());
   System.out.println(getTimeMessage());
   // Choice
   System.out.println("★★★★★★ Choice Format ★★★★★★"); 
   System.out.println(choiceMessage());
 }

 private static String getDateMessage() {

   StringBuffer pattern = new StringBuffer();
   pattern.append("書式無し     \t{0}\n");
   pattern.append("date        \t{1,date}\n");
   pattern.append("date,short  \t{2,date,short}\n");
   pattern.append("date,medium \t{3,date,medium}\n");
   pattern.append("date,long   \t{4,date,long}\n");
   pattern.append("date,full   \t{5,date,full}\n");

   final Object TODAY = new Date();
   final Object[] arguments = { TODAY, TODAY, TODAY, TODAY, TODAY, TODAY };

   return MessageFormat.format(pattern.toString(), arguments);
 }

 private static String getNumberMessage() {

   StringBuffer pattern = new StringBuffer();
   pattern.append("書式指定無し     \t{0}\n");
   pattern.append("number          \t{1,number}\n");
   pattern.append("number,#.###### \t{2,number,#.########}\n");
   pattern.append("number,integer  \t{3,number,integer}\n");
   pattern.append("number,currency \t{4,number,currency}\n");
   pattern.append("number,percent  \t{5,number,percent}\n");

   Object PI = new Double(Math.PI);
   Object[] arguments = { PI, PI, PI, PI, PI, PI };

   return MessageFormat.format(pattern.toString(), arguments);
 }

 private static String getTimeMessage() {

   StringBuffer pattern = new StringBuffer();
   pattern.append("書式無し     \t{0}\n");
   pattern.append("time        \t{1,time}\n");
   pattern.append("time,short  \t{2,time,short}\n");
   pattern.append("time,medium \t{3,time,medium}\n");
   pattern.append("time,long   \t{4,time,long}\n");
   pattern.append("time,full   \t{5,time,full}\n");

   final Object TODAY = new Date();
   final Object[] arguments = { TODAY, TODAY, TODAY, TODAY, TODAY, TODAY };

   return MessageFormat.format(pattern.toString(), arguments);
 }

 private static String choiceMessage() {
 	
   StringBuffer pattern = new StringBuffer();
   pattern.append("りんごが{0,choice,0#ありません|1#ひとつ|1<{0}こ|100<たくさん}\n"); 
   pattern.append("りんごが{1,choice,0#ありません|1#ひとつ|1<{1}こ|100<たくさん}\n"); 
   pattern.append("りんごが{2,choice,0#ありません|1#ひとつ|1<{2}こ|100<たくさん}\n"); 
   pattern.append("りんごが{3,choice,0#ありません|1#ひとつ|1<{3}こ|100<たくさん}\n"); 
   pattern.append("りんごが{4,choice,0#ありません|1#ひとつ|1<{4}こ|100<たくさん}\n"); 
   
   final Object[] arguments = { new Integer(0) ,
                                new Integer(1) ,
                                new Integer(10) ,
                                new Integer(100) ,
                                new Integer(1000) };

   return MessageFormat.format(pattern.toString(), arguments);
 }
}

実行結果

★★★★★★ Local.JAPAN ★★★★★★
書式指定無し     	3.142
number          	3.142
number,#.###### 	3.14159265
number,integer  	3
number,currency 	¥3
number,percent  	314%

書式無し     	04/12/28 9:17
date        	2004/12/28
date,short  	04/12/28
date,medium 	2004/12/28
date,long   	2004/12/28
date,full   	2004年12月28日 (火曜日)

書式無し     	04/12/28 9:17
time        	9:17:36
time,short  	9:17
time,medium 	9:17:36
time,long   	9:17:36 JST
time,full   	9時17分36秒 JST 

★★★★★★ Local.US ★★★★★★
書式指定無し     	3.142
number          	3.142
number,#.###### 	3.14159265
number,integer  	3
number,currency 	$3.14
number,percent  	314% 

書式無し     	12/28/04 9:17 AM
date        	Dec 28, 2004
date,short  	12/28/04
date,medium 	Dec 28, 2004
date,long   	December 28, 2004
date,full   	Tuesday, December 28, 2004 

書式無し     	12/28/04 9:17 AM
time        	9:17:36 AM
time,short  	9:17 AM
time,medium 	9:17:36 AM
time,long   	9:17:36 AM JST
time,full   	9:17:36 AM JST

★★★★★★ Choice Format ★★★★★★
りんごがありません
りんごがひとつ
りんごが10こ
りんごが100こ
りんごがたくさん

Java#JavaSE


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2006-02-18 (土) 12:49:00 (3945d)
ISBN10
ISBN13
9784061426061