string的一个操作问题

better_chaner 2011-07-15 05:33:44
接触Java时间不长,最近遇到个问题,格式化字符串的

在.net中 string result= string.format("我的名字:{0},性别:{1},年龄:{2}","BetterChaner","男","24");

result结果为:我的名字:BetterChaner,性别:男,年龄:24

我在JAVA用 string result= string.format("我的名字:{0},性别:{1},年龄:{2}","BetterChaner","男","24")

result结果为:我的名字:{0},性别:{1},年龄:{2}

我想得到的是像.net那样的,请问应该怎么写? 不是replace("{0}","BetterChaner")这样的!!!
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
better_chaner 2011-07-15
  • 打赏
  • 举报
回复
非常感谢 搞定
小笨熊 2011-07-15
  • 打赏
  • 举报
回复
String result= "我的名字:%s ,性别:%s,年龄:%s";
System.out.println(String.format(result, "小明","男",20)); %s是占位符,ls写错了,没有%d这个占位符


同时用MessageFormat也是可以的,正如ls所写
zl3450341 2011-07-15
  • 打赏
  • 举报
回复
楼上提到的方法也是可以的。


String result= "我的名字:%s ,性别:%s,年龄:%d";
System.out.println(String.format(result, "小明","男",20));

String str = "我的名字:{0} ,性别:{1},年龄:{2}";
System.out.println(MessageFormat.format(str, "小明","男",20));
zl3450341 2011-07-15
  • 打赏
  • 举报
回复
楼主。。改为如下即可。Java中采用跟C语言一样的占位符,字符串用%s,数字%d。。

String result= "我的名字:%s ,性别:%s,年龄:%d";
System.out.println(String.format(result, "小明","男",20));
lyon_z 2011-07-15
  • 打赏
  • 举报
回复
jdk1.5以后的可以用:
MessageFormat.format("我的名字:{0},性别:{1},年龄:{2}","BetterChaner","男","24");

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧