我使用这段代码来颠倒句子的顺序,但它所做的也是颠倒字符的顺序。请帮助我,这样字符就不会颠倒,只有单词才会颠倒。例如“猫正在跑步”-->“跑步是猫”public static void main(String[] args) { String sentence = "Cat Is Running"; System.out.println(reverse(sentence));}public static String reverse(String str) { if(str.isEmpty()) return str; else { return reverse(str.substring(1)) + str.charAt(0); }}
1 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
尝试这个:
你搜索最后一个空格
"Cat Is Running"
在第一次迭代时
SpaceIndex = 6
您打印空格后面的部分,
"Running"
然后调用递归相同的方法而无需该部分 ("Cat Is"
)在最后一次迭代中,当找不到空间时,您只需输出您拥有的字符串。
public static void main(String[] args) {
String sentence = "Cat Is Running";
reverse(sentence);
}
public static void reverse(String str) {
int spaceIndex = str.lastIndexOf(" ");
if(spaceIndex == -1){
System.out.print(str);
return;
}
System.out.print(str.substring(spaceIndex+1) + " ");
reverse(str.substring(0,spaceIndex));
}
添加回答
举报
0/150
提交
取消