總結一道 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 方法中的測試代碼:ui
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)); }