public static void order() throws IOException {
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(is);
String str = br.readLine(); //------------------
char c[] = str.toCharArray();
int len = str.length();
len--;
char temp;
for (int j = 0; j < len; j++, len--) {
temp = c[j];
c[j] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, str.length()));
} public static void reverseOrder(String input) {
char temp;
String newStr = "";  // abcd
int len = input.length()-1;
char[] c = input.toCharArray();
for (int i = 0; i < len; i++, len--) {
temp = c[i];
c[i] = c[len];
c[len] = temp;
}
System.out.println(new String(c, 0, input.length()));
}
看看第二个那写的有误。

解决方案 »

  1.   

    什么现象?两个的算法是一样的,都是首尾两个元素互换,然后首尾位置缩小
    如果只是为了反转字符串,可以使用StringBuilder的reverse方法
    for example
    StringBuilder sb = new StringBuilder("abcd");
    System.out.println(sb.reverse());
      

  2.   


    public class Test{
       public static void main(String[] args){
    reverseOrder("hello world!");
       }static void reverseOrder(String input) {
    char temp;
    int len = input.length()-1;
    char[] c = input.toCharArray();
    for (int i = 0; i < len; i++, len--) {
    temp = c[i];
    c[i] = c[len];
    c[len] = temp;
    }
    System.out.println(new String(c, 0, input.length()));
    }
    }
    输出:!dlrow olleh
    实现了功能,一切正常;
    如果LZ是说下面的代码显示的结果未实现功能的话,那就是传值方面的问题,建议看看有关传值的帖子,CSDN里巨多public class Test{
       public static void main(String[] args){
            String input="hello world!";
    reverseOrder(input);
            System.out.println(input);
       }   static void reverseOrder(String input) {
          char temp;
          int len = input.length()-1;
          char[] c = input.toCharArray();
          for (int i = 0; i < len; i++, len--) {
                temp = c[i];
                c[i] = c[len];
                c[len] = temp;
          }
       }
    }
      

  3.   

    我明白你的意思了
    String str = "abcd";
    reverseOrder(str);
    System.out.println(str); //是说这里没起作用吧?
    好好想想值传递吧?