我正在尝试创建一种以相反顺序返回单词字符串的方法。
IE/“西类牙的降雨主要落在
会返回:“在雨中大部分落在西类牙上”
为此,我不应该使用任何内置的Java类,而只能使用基本Java。
到目前为止,我有:
lastSpace = stringIn.length();
for (int i = stringIn.length() - 1; i >= 0; i--){
chIn = stringIn.charAt(i);
if (chIn == ' '){
word = stringIn.substring(i + 1, lastSpace);
stringOut.concat(word);
lastS = i;
}
}
word = stringIn.substring(0,lastSpace);
stringOut.concat(word);
return stringOut;
我的问题是,将
stringOut
返回给其调用方时,它始终是空字符串。难道我做错了什么?也许我使用了
string.concat()
? 最佳答案
在Java中,字符串是不可变的,即不能更改。 concat()返回带有串联的新字符串。所以你想要这样的东西:
stringOut = stringOut.concat(word);
或者
stringOut += word
正如Ray所指出的那样,还有更多简洁的方法可以做到这一点。