有時會使用數字代碼當作選項,並依據代碼取回對應的文字說明,那麼使用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
留言列表