java 如何向固定字符串格式中传递变量

privateStringstr1="合计{1}円{2}元{3}个";这个str1的格式是固定的常量。但是{1}{2}{3}是三个变量从别的地方取。最后要有一个getSt... private String str1 = "合计 {1}円 {2} 元 {3}个 " ;
这个str1的格式是固定的常量。但是{1}{2}{3}是三个变量从别的地方取。
最后要有一个getStr(str1,map)方法取出完整的字符串,如: 合计 2000円 18元 5 个。这个要怎么写str1还有getStr方法啊???求教!!!
我不是要拼接字符串。。。。我现在有很多这样的字符串
str1 = "合计 {1}円 {2} 元 {3}个 " ;
str2 = “时间 {1}年到{2}年”;
str3 = “长{1}米宽{2}米高{3}米体积{4}立方米”;
getstr()方法能够根据不同的字符串和变量输出完整的字符串。
比如getstr(str2,“2008”,“2009”)
getstr得到的就是: 时间 2008年到2009年
展开
 我来答
zgh26782000
2011-10-21 · TA获得超过1453个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:501万
展开全部
replace()
str1.replace("{1}","20000")
这个也很简单,首先用Map 的size获取数量,然后根据不同的数量替换不同的字符串,当然你这样说的意思就是每个字符串的参数个数都不一样了,如果有2个字符串都是2个参数的话,你就没法知道到底用哪个了。所以假设参数个数都不同的话就可以根据传入Map 的size获得替换哪个字符串了
百度网友ca53936
2011-10-21 · 超过30用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:64.9万
展开全部
可以定义一个方法:
static String str1(a,b,c){
return "合计"+a+"円"+b+“元”+c+“个”;
}

想要输出完整字符串就直接调用 如:String s = str1(“1”,“2”,“3”); System.out.print(s);

至于你说的要getStr()方法要达到什么目的你没说清楚,因此也不好解答。
更多追问追答
追问
我不是要拼接字符串。。。。我现在有很多这样的字符串
str1 = "合计 {1}円 {2} 元 {3}个 " ;
str2 = “时间 {1}年到{2}年”;
str3 = “长{1}米宽{2}米高{3}米体积{4}立方米”;
getstr()方法能够根据不同的字符串和变量输出完整的字符串。
比如getstr(str2,“2008”,“2009”)
getstr得到的就是: 时间 2008年到2009年
追答
与其定义这些
str1 = "合计 {1}円 {2} 元 {3}个 " ;
str2 = “时间 {1}年到{2}年”;
str3 = “长{1}米宽{2}米高{3}米体积{4}立方米”;

不如定义
static String str1(a,b,c);
static String str2(a,b);
static String str3(a,b,c,d);
三个方法就简单的多了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白雪纷飞6461
2011-10-21
知道答主
回答量:49
采纳率:0%
帮助的人:26万
展开全部
public String getStr(String str,String[] realStr){
String result=str;
for(int i=0;i<realStr.length;i++)
result=result.replace("{"+(i+1)+"}", realStr[i]);
return result;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
StringReplace sr=new StringReplace();
String[] s={"2000","8","20"};
String a=sr.getStr("时间{1}年{2}月{3}日",s);
System.out.println(a);
}
调试过了,你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左右冯源
2011-10-21
知道答主
回答量:28
采纳率:0%
帮助的人:9.5万
展开全部
其实这个很简单的,用replace("a","b");就行了,实在不行就自己封装一个方法。就行!将通用的字符串替换掉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就爱美人妆
2011-10-21 · 芙蓉不及美人妆,水殿风来珠翠香。
就爱美人妆
采纳数:45 获赞数:1317

向TA提问 私信TA
展开全部
拼接字符串啊
String str1= ,,,,;
String str2= ,,,,;
String str3= ,,,,;
String str = "合计 "+str1+"円 "+str2+" 元 "+str3+"个 " ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式