为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

料青山看我应如是 2023-03-23 16:22:50
我在获取返回任何内容的方法时遇到问题。该代码应该获取一个字符串,按单词反转字符串,然后返回新字符串。这是一个学校作业,我试图避免使用 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];
}


查看完整回答
反对 回复 2023-03-23
?
繁花如伊

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


查看完整回答
反对 回复 2023-03-23
  • 2 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信