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;
}
}

解决方案 »

  1.   

    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--)你的条件将一次都不会被满足。
      

  2.   


    for(int start=0,end=arr.length-1;start<end;start++,end--)应该是小于,写错了
      

  3.   

    你是想练习还是想要反转功能,StringBuilder里有现成的
    StringBuilder sb = new StringBuilder("Hello World!");
    System.out.println(sb.reverse().toString());