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年 展开
这个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年 展开
9个回答
展开全部
可以定义一个方法:
static String str1(a,b,c){
return "合计"+a+"円"+b+“元”+c+“个”;
}
想要输出完整字符串就直接调用 如:String s = str1(“1”,“2”,“3”); System.out.print(s);
至于你说的要getStr()方法要达到什么目的你没说清楚,因此也不好解答。
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);
三个方法就简单的多了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
调试过了,你试试
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);
}
调试过了,你试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这个很简单的,用replace("a","b");就行了,实在不行就自己封装一个方法。就行!将通用的字符串替换掉!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拼接字符串啊
String str1= ,,,,;
String str2= ,,,,;
String str3= ,,,,;
String str = "合计 "+str1+"円 "+str2+" 元 "+str3+"个 " ;
String str1= ,,,,;
String str2= ,,,,;
String str3= ,,,,;
String str = "合计 "+str1+"円 "+str2+" 元 "+str3+"个 " ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询