我正在尝试创建一个以相反顺序返回字符串的方法.
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指出的那样,有更简洁的方法可以做到这一点.