有時會使用數字代碼當作選項,並依據代碼取回對應的文字說明,那麼使用java.text.ChoiceFormat來建立數值代碼與特定文字說明的關連,可限制使用者輸入的代碼不超出數值範圍的上下限。

範例一:

數字1、2、3、4、5、6、7,依序分別表示為中文的星期一、二、三、四、五、六、日

//數值代碼的範圍區間陣列

double[] limits = {1,2,3,4,5,6,7};

//用來追蹤目前解析字串的索引值

ParsePosition status = new ParsePosition(0);

//星期陣列

String[] dayOfWeekNames = {"一","二","三","四","五","六","日"};

//代碼與文字對照樣版物件

ChoiceFormat cform = new ChoiceFormat(limits, dayOfWeekNames);

//執行解析代碼,代碼值域為1~7,模擬使用者輸入值域範圍0~8

for (double i = 0.0; i <= 8.0; ++i) {
     status.setIndex(0);
     System.out.println(i + " -> " + form.format(i) + " -> "
                              + form.parse(form.format(i),status));
 }

輸出結果為

[java] 0.0 -> 一 -> 1.0
[java] 1.0 -> 一 -> 1.0
[java] 2.0 -> 二 -> 2.0
[java] 3.0 -> 三 -> 3.0
[java] 4.0 -> 四 -> 4.0
[java] 5.0 -> 五 -> 5.0
[java] 6.0 -> 六 -> 6.0
[java] 7.0 -> 日 -> 7.0
[java] 8.0 -> 日 -> 7.0

java.text.ChioceFormat將值域限制在1~7的範圍之內


參考資料:

http://docs.oracle.com/javase/8/docs/api/index.html?java/text/Format.html

http://docs.oracle.com/javase/8/docs/api/java/text/ParsePosition.html

,

K 發表在 痞客邦 PIXNET 留言(0) 人氣()