我在獲取返回任何內容的方法時遇到問題。該代碼應該獲取一個字符串,按單詞反轉字符串,然后返回新字符串。這是一個學校作業,我試圖避免使用 stringbuilder,因為它沒有被文本覆蓋。出于明顯的原因,我還嘗試盡可能多地使用我理解的語法。public static String reverseByWord(String s){ String forward[] = s.split("\\s+"); String backward = new String(); for (int i=forward.length-1; i< forward.length-1; i--){ backward += forward[i]; } return backward;輸入示例:“The quick brown fox” 預期輸出:“fox brown quick The” 輸出:無
2 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
您的for 循環條件不正確。您的邏輯應該是從最后一個字符串長度到字符串開頭,即 0。
for (int i=forward.length-1; i >= 0; i--){ backward += forward[i]; }

繁花如伊
TA貢獻2012條經驗 獲得超12個贊
for (int i=forward.length-1; i< forward.length-1; i--){ backward += forward[i]; }
這條線,int i = forward.length-1; i < forward.length-1
您將 i 設置為forward.length - 1
,然后您立即告訴 for 循環它應該僅在 i 小于時才執行forward.length - 1
一個非常簡單的解決方案,只需將條件設置為i >= 0
添加回答
舉報
0/150
提交
取消