在 java 中逐字反转字符串(不使用 StringBuilder)

我在获取返回任何内容的方法时遇到问题。该代码应该获取一个字符串,按单词反转字符串,然后返回新字符串。


这是一个学校作业,我试图避免使用 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” 输出:无


料青山看我应如是
浏览 109回答 2
2回答

当年话下

您的for 循环条件不正确。您的逻辑应该是从最后一个字符串长度到字符串开头,即 0。for&nbsp;(int&nbsp;i=forward.length-1;&nbsp;i&nbsp;>=&nbsp;0;&nbsp;i--){ &nbsp;&nbsp;&nbsp;&nbsp;backward&nbsp;+=&nbsp;forward[i]; }

繁花如伊

for&nbsp;(int&nbsp;i=forward.length-1;&nbsp;i<&nbsp;forward.length-1;&nbsp;i--){ &nbsp;&nbsp;&nbsp;&nbsp;backward&nbsp;+=&nbsp;forward[i]; }这条线,int i = forward.length-1; i < forward.length-1您将 i 设置为forward.length - 1,然后您立即告诉 for 循环它应该仅在 i 小于时才执行forward.length - 1一个非常简单的解决方案,只需将条件设置为i >= 0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java