我使用這段代碼來顛倒句子的順序,但它所做的也是顛倒字符的順序。請幫助我,這樣字符就不會顛倒,只有單詞才會顛倒。例如“貓正在跑步”-->“跑步是貓”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
提交
取消