如何在Java中反转字符串
输入字符串:1234 输出应该:4321
我已经尝试过了。
public static void main(String args[])
{
String number = "1234";
System.out.println("original String: " + number); String reversed = inPlaceReverse(number);
System.out.println("reversed String: " + reversed);
}
public static String inPlaceReverse(final String input)
{
final StringBuilder builder = new StringBuilder(input);
int length = builder.length();
for (int i = 0; i < length / 2; i++)
{
final char current = builder.charAt(i);
final int otherEnd = length - i - 1;
builder.setCharAt(i, builder.charAt(otherEnd)); // swap
builder.setCharAt(otherEnd, current);
}
return builder.toString();
}
我得到的答案如下: 反转字符串:4231,正如我预期的 4321。
最佳答案
如果你的老师想看你的作品,那么你应该直接操作角色。像下面这样的内容应该足以让您发现错误:
public static String reverse(String orig)
{
char[] s = orig.toCharArray();
final int n = s.length;
final int halfLength = n / 2;
for (int i=0; i<halfLength; i++)
{
char temp = s[i];
s[i] = s[n-1-i];
s[n-1-i] = temp;
}
return new String(s);
}
关于java - 如何在Java中反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44452668/