`
gongmingwind
  • 浏览: 588259 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

输出XXX{0}YYY{1}ZZZ格式的字符串方法

阅读更多
public static void main(String[] args) {

MessageFormat form = new MessageFormat("xxxxx{0}xx");

String[] testArgs=new String[]{"hello"};

System.out.println(form.format(testArgs));

}



使用MessageFormat控制输出

Printf是很多C语言程序员喜欢的工具,当他们转而使用Java时他们非常的失望。Java有一个替代的方法但是那个方法和C语言的printf() 函数的原理不一样。

幸运的是,早期的Java库的开发者熟悉到创建一个更合适Java的工具而不是一个printf函数。

MessageFormat运行开发者输出文本中的变量的格式。它是一个强大的类,就像下面的例子展示的那样:
String message =
"Once upon a time ({1,date}, around about {1,time,short}), there " +
"was a humble developer named Geppetto who slaved for " +
"{0,number,integer} days with {2,number,percent} complete user " +
"requirements. ";
Object[ ] variables = new Object[ ]
{ new Integer(4), new Date( ), new Double(0.21) }
String output = MessageFormat.format( message, variables );
System.out.println(output);

隐藏在信息中的是描述输出的格式的一种短小的代码,范例的输出如下:

Once upon a time (Nov 3, 2002, around about 1:35 AM), there was a humble developer
named Geppetto who slaved for 4 days with 21% complete user requirements.
假如相同的信息需要被重复输出但是变量的值不同,那么创建一个MessageFormat对象并给出信息。下面是上面的例子的修正版:

//String output = MessageFormat.format(message, variables );
//变为:
MessageFormat formatter = new MessageFormat(message);
String output = formatter.format(variables);


除了可以处理日期、时间、数字和百分数外,MessageFormat也可以处理货币,运行更多的数字格式的控制并且答应指定ChoiceFormat。

MessageFormat 是一个极好的类,它应该经常被使用但是现在还没有。它的最大的缺点是数据是被作为变量传递而不是一个Properties对象。一个简单的解决办法是写一 个封装类,它会预解析字符串为格式化的结果,将Properties的key转换为一个数组索引,顺序是Properties.keys( )返回的顺序。

转自:http://hi.baidu.com/lvword/blog/item/c12313e7817ffc28b83820e1.html
分享到:
评论

相关推荐

    完整word版-《JAVA语言程序设计》期末考试试题及答案5(应考必备题库).doc

    3、应用程序的 main 方法中的字符串处理语句,输出结果为(B)`123`。`indexOf("#")` 找到第一个 `#` 的位置,`indexOf("#", n+1)` 找到第二个 `#` 之前的位置,`substring(n+1, k)` 截取两个 `#` 之间的字符串。 4...

    2022年语言程序设计期末考试试题及答案应考必备题库.doc

    因此,给定的程序段会生成子目录`xxx/yyy/zzz`。选项A正确地描述了这个行为。 3、字符串`indexOf()`方法用于查找指定字符或子串的索引,`substring()`方法用于截取字符串的一部分。题目中,`n`是第一个`#`的位置,`...

    JAVA程序设计期末考试题.doc

    2. **文件操作**:`File`类的`mkdirs()`方法用于在当前目录下创建多级目录,如题目中的`d:\xxx\yyy\zzz`。选项A错误,因为生成的子目录不在当前目录下;选项B错误,因为路径不符合;选项C错误,因为`mkdirs()`创建的...

    javascript提取URL的搜索字符串中的参数(自定义函数实现)

    今天在犀牛书上发现了一个有用的函数 urlArgs(提取URL的搜索字符串中的参数)。我们经常会看到有的页面链接地址后面会跟有参数,比如 http://www.xxx.com/?username=yyy&password=zzz 之类的,很多时候我们需要获得...

    2021年JAVA语言程序设计期末考试试题及答案应考必备题库五.doc

    给定的代码创建了`\xxx\yyy\zzz`这个子目录。所以选项A正确。 3. **indexOf()和substring()方法**:`indexOf()`方法用于查找字符串中指定字符或子串的索引,`substring()`方法用于截取字符串的一部分。题目中,`n`...

    接口文档示例,java后端与前端交互文档

    请求参数为JSON字符串格式,示例如下: ```json { "name": "苑雨辰", "age": "23", "address": "上海市" } ``` - **参数名** - `name`: 必填字段,类型为`String`,表示用户的姓名。 - `age`: 必填字段,...

    java-API-String类

    在Java中,`String`类是非常重要的一个类,它提供了大量的方法来处理字符串。字符串在Java中是不可变的对象,也就是说一旦创建了一个`String`对象,它的内容就不能被改变。这使得`String`对象非常适合用于缓存和其他...

    《JAVA语言程序设计》期末考试试题及答案5(应考必备题库)推荐文档.doc

    根据代码中的路径 `"d:\\xxx\\yyy\\zzz"`,正确的答案是 A) 在当前目录下生成子目录:`\xxx\yyy\zzz`。 ### 3. 字符串操作与 `substring()` 方法 #### 知识点解析: - **`indexOf()` 方法**:`String` 类的 `index...

    广工java试卷复习资料

    在给定的例题中,使用`put()`方法向`Hashtable`对象中添加了三个键值对,然后通过`get()`方法获取这些键对应的值,并连接成字符串输出。 - **选项A**: `aaa`不正确。 - **选项B**: `bbb`不正确。 - **选项C**: `ccc...

    《JAVA程序设计》期末考试试题及答案.doc

    File file1 = new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); ``` - **注意**:上述代码尝试创建目录 `d:\xxx\yyy\zzz`,但不会检查这些目录是否已经存在,也不会在当前目录下创建。 ### 3. 字符串处理与索引操作...

    《JAVA语言程序设计》期末考试试题及答案5(应考必备题库).pdf

    文档提到了使用File类创建目录:"Filefile1=newFile("d:\\xxx\\yyy\\zzz");file1.mkdirs();", 这说明了Java中的文件I/O操作,mkdirs()方法用于创建多级目录。文件的路径分隔符在Windows上是反斜杠("\\"),而在UNIX/...

    Java考试题、各种考试题参考.pdf

    File file1 = new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); ``` - 选项分析:这段代码的作用是在D盘根目录下创建名为`xxx`的目录,如果`xxx`目录不存在则同时创建其下的`yyy`和`zzz`两个目录。因此,正确答案是...

    aspHttpServer.zip

    '所有字符串不区分大小写 '连续5个'后的内容被当作注释,直到再次遇到5个'. [Base] '基本设置 Port = 80 '默认80 Path = D:\xxx\ '如果为空,那么每个域名就作为一个虚拟目录存在 FileMaxSize = 200000000 '下载文件...

    Javascript es7中比较实用的两个方法示例

    在这篇文章中,我们将重点讨论两个非常实用的新特性:求幂运算符(**)和字符串的`padStart()`与`padEnd()`方法。 一、求幂运算符(**) 在ES7之前,我们使用`Math.pow()`函数来计算一个数的幂。例如: ```...

    Head First SQL笔记

    SELECT col1, col2 FROM table_name [WHERE col1 NOT IN ('xxx', 'yyy', 'ZZZ')]; SELECT col1, col2 FROM table_name [WHERE NOT col1 LIKE 'xxxx' AND NOT col2 = 'yyyy']; ``` - **比较运算符** SQL 支持...

    shell经典代码(收藏)

    - **命令**: `read abc <<< "xxx yyy zzz"` - **说明**: `read`命令可以从标准输入读取一行并分配给多个变量。 - **应用场景**: 解析配置文件或命令输出中的多个字段。 #### 17. 遍历数组 - **命令**: - `array=...

    武汉公共资源交易平台交易人CA数字证书及电子签章办理流程.doc

    入驻“市公共资源交易平台”的 CA 数字证书效劳商共有 3 家,分别是 XXX、YYY 和 ZZZ。这些效劳商提供了多种 CA 数字证书服务,满足交易人/注册人员在“市公共资源交易平台”上的交易活动需要。 七、 CA 数字证书...

Global site tag (gtag.js) - Google Analytics