如何使用for循环创建反向字符串?

问题描述 投票:0回答:2

我需要让我的代码以相反的顺序输出String。例如,输出应该将“code”返回为“edoc”。这就是我到目前为止所做的。

public String reverseString(String str) {
 String res = "";

for (int i = 0; i <= str.length()-1; i++) {
   res = res + str.charAt(i);
 }
  return res;
}
java string return output reverse
2个回答
0
投票

你这样做的主要问题是你从str中取出第n个字符,然后将其添加到res的第n个字符中。

你可以像这样解决它:

public String reverseString(String str) {
   String res = "";

   for (int i = str.length() - 1; i >= 0; i--) {
       res = res + str.charAt(i);
   }
   return res;
}

0
投票

你的连接是倒退的。尝试:

public String reverseString(String str) {
    String res = "";
    for (int i = 0; i < str.length(); i++) {
       res = str.charAt(i) + res;            // Add each char to the *front*
    }
    return res;
}

还要注意更简单,规范的循环终止条件。

© www.soinside.com 2019 - 2024. All rights reserved.