我想将新字符串连接到现有字符串的开头,例如, 当前string =“”我希望始终将新字符串连接到我的旧字符串的开头:
String msg="Java One",temp;
for(int i=msg.length()-2;i>0;i--){
这里我从msg结束后开始循环结束temp应该包含“Java One”但按此顺序
e
ne
one
a one
va one
}
等等
答案 0 :(得分:0)
您可以使用String#substring(int,int)
在每次迭代中获得不同的子字符串。
for(int i=msg.length()-1;i>=0;i--){
System.out.println(msg.substring(i,msg.length()));
}
当然,您可以存储每个生成的子字符串,并使用它执行您想要的操作。
请注意,此方法可能更有效,因为虽然将创建新的String
对象,但它们可能会为所有对象使用相同的基础char[]
对象。
另请注意,我们正在从msg.length()-1
(而不是-2,作为问题中的原始代码)和i >= 0
(而非i > 0
进行迭代,与原始问题一样)
答案 1 :(得分:0)
我希望始终将新字符串连接到我的旧字符串
的开头
这很简单,但效率不高:
String oldString = "";
for (...) {
// Prepare your new string
String newString = ... ;
// Add the new string at the beginning of the old string
oldString = newString + oldString;
}