我需要让我的代码以相反的顺序输出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;
}
答案 0 :(得分: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;
}
答案 1 :(得分: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;
}
还要注意更简单,规范的循环终止条件。
答案 2 :(得分:-1)
public class ReverseString {
//1. using for loop and charAt
public static void main(String[] args)
{
String s="Selenium";
String reverse="";
for(int i=s.length()-1;i>=0;i--)
{
reverse=reverse+(s.charAt(i));
}
System.out.println(reverse);
}