总结一道 Java 面试常见编程题:将 'abc123' 字符串反转,把你能想到的方法都写下来。

1. 利用 StringBuffer 或 StringBuilder 的 reverse 成员方法:

// StringBuffer

public static String reverse1(String str) {

return new StringBuilder(str).reverse().toString();

}

2. 利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组,然后将各个字符进行重新拼接:

// toCharArray

public static String reverse2(String str) {

char[] chars = str.toCharArray();

String reverse = "";

for (int i = chars.length - 1; i >= 0; i--) {

reverse += chars[i];

}

return reverse;

}

3. 利用 String 的 CharAt 方法取出字符串中的各个字符:

// charAt

public static String reverse3(String str) {

String reverse = "";

int length = str.length();

for (int i = 0; i < length; i++) {

reverse = str.charAt(i) + reverse;

}

return reverse;

}

最后补充 main 方法中的测试代码:

public static void main(String[] args) {

String s = "abc123";

System.out.println("----------------");

for (int i = s.length() - 1; i >= 0; i--) {

System.out.print(s.charAt(i));

}

System.out.println("----------------");

System.out.println("变换前: " + s);

System.out.println("变换后: " + reverse1(s));

System.out.println("变换后: " + reverse2(s));

System.out.println("变换后: " + reverse3(s));

}

参照:

https://www.cnblogs.com/binye-typing/p/9260994.html

http://www.importnew.com/30579.html