码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA基础(2)

时间:2019-02-02 23:25:43      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:异常   tar   可变参数   运行时异常   OLE   double   lang   number   illegal   

上面一篇写不完NumberFormat类的子类ChoiceFormat类,这一篇接着写ChoiceFormat类,借鉴了

下面看一下ChoiceFormat类中的几个常用方法
1.nextDouble(double d)静态方法查找大于d的最小double值,用在limits数组中,从而使limits数组形成一个右开区间数组,例如
limits = {0,1,ChoiceFormat.nextDouble(1)}
2.nextDouble(double d, boolean positive)静态方法,如果positive参数为true,表示查找大于d的最小double值;如果positive参数为false,表示查找小于d的最大double值,这样就可以使limits形成一个左开区间数组。
3.previousDouble(double d)静态方法,查找小于d的最大double值
ChoiceFormat类的构造方法也允许我们传入一个模式字符串,format方法会根据这个模式字符串执行格式化操作。一个模式元素的格式如下:

doubleNum [占位符] formatStr(占位符可以使用#、< 、\u2264(<=))

//ChoiceFormat类是NumberFormat类的另外一个子类
        /*
         * ChoiceFormat允许将格式化运用到某个范围的数,通常与MessageFormat一同使用
         * ChoiceFormat在构造方法中接受一个limits数组(必须是double类型,输入的值向下取整。实际上是一个区间,作为索引可开可闭,
* 必须按照升序排列,否则格式化结果会出错,还可以使用\u221E表示无穷大) * 和一个format数组(作为值),这两个数组的长度必须相等
*/ double[] limits = {1,2,3,4,5,6,7}; String[] formats = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}; ChoiceFormat choiceformat = new ChoiceFormat(limits,formats); System.out.println(choiceformat.format(2.5)); double[] limitss = {0,1,ChoiceFormat.nextDouble(1)}; System.out.println(ChoiceFormat.nextDouble(1)); //模式字符串中的每个模式元素之间使用“|”分割,而且必须按升序进行书写,否则会出现java.lang.IllegalArgumentException的运行时异常。 ChoiceFormat choiceformat1 = new ChoiceFormat("1#is 1 | 1<is more than 1"); System.out.println(choiceformat1.format(1)); System.out.println(choiceformat1.format(2));

MessageFormat类:

常用MessageFormat的静态方法format,该方法接收一个字符串的模式和一组对象(对象数组),按照模式形式将格式化的对象插入到模式中,然后返回字符串结果。

/**这是源码注释中的一个例子
        * 在这个例子中静态方法format第一个参数是字符串类型的,
        * 即模式字符串,第二个参数是个可变参数,实际上就是一个Object类型的数组。
        * 在模式字符串中使用"{}"标识一个FormatElement。"{}"中的ArgumentIndex对应Object数组中响应索引处的值。
        */
String s ="a better future";
        int a =1;
        String resultformat =MessageFormat.format("on {1,time} at {1,date} for {2}.",a,new Date(),s); 
        System.out.println(resultformat);

 

JAVA基础(2)

标签:异常   tar   可变参数   运行时异常   OLE   double   lang   number   illegal   

原文地址:https://www.cnblogs.com/changhe1995/p/10349303.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!