我正在尝试创建一个以相反顺序返回字符串的方法.
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;
Run Code Online (Sandbox Code Playgroud)
我的问题是当stringOut它返回给它的调用者时,它总是一个空字符串.
难道我做错了什么?也许我的用途string.concat()?
在Java中,字符串是不可变的,即它们不能被更改.concat()返回带有串联的新字符串.所以你想要这样的东西:
stringOut = stringOut.concat(word);
Run Code Online (Sandbox Code Playgroud)
要么
stringOut += word
Run Code Online (Sandbox Code Playgroud)
正如Ray指出的那样,有更简洁的方法可以做到这一点.
| 归档时间: |
|
| 查看次数: |
12157 次 |
| 最近记录: |