反转字符窜为什么无效?public class C{public static void main(String[] args){System.out.println(rever
反转字符窜为什么无效?
public class C
{
public static void main(String[] args)
{
System.out.println(reverseString("Hello World!"));
}
public static String reverseString(String s)
{
char[] chs = s.toCharArray();//将字符串变成数组
reverse(chs);//将数组反转
return new String(chs);//将数组变成字符串
}
private static void reverse(char[] arr)//实现reverse方法
{
for(int start=0,end=arr.length-1;start>end;start++,end--)
{
swap(arr,start,end);
}
}
private static void swap(char[] arr,int x ,int y)//实现swap方法
{
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
[解决办法]
for(int start=0,end=arr.length-1;start>end;start++,end--)
for循环的条件应该改为
for(int start=0,end=arr.length-1;start>end;start++,end--)
你的条件将一次都不会被满足。
[解决办法]
你是想练习还是想要反转功能,StringBuilder里有现成的。。。
StringBuilder sb = new StringBuilder("Hello World!");
System.out.println(sb.reverse().toString());
