字符串反转(asd->dsa)
题目描述
将 'abc123' 字符串反转,把你能想到的方法都写下来。
解题方法
1. 利用 StringBuffer 或 StringBuilder 的 reverse 成员方法:
1 public static String reverse1(String str) { 2 return new StringBuilder(str).reverse().toString(); 3 }
2. 利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组,然后将各个字符进行重新拼接:
1 public static String reverse2(String str) { 2 char[] chars = str.toCharArray(); 3 String reverse = ""; 4 for(int i = chars.length - 1; i >= 0; i--) { 5 reverse += chars[i]; 6 } 7 return reverse; 8 }
3. 利用 String 的 CharAt 方法取出字符串中的各个字符:
1 public static String reverse3(String str) { 2 String reverse = ""; 3 int length = str.length(); 4 for (int i = 0; i < length; i++) { 5 reverse = str.charAt(i) + reverse; 6 } 7 return reverse; 8 }
最后补充 main 方法中的测试代码:
1 public static void main(String[] args) { 2 String s = "abc123"; 3 4 System.out.println("----------------"); 5 for (int i = s.length() - 1; i >= 0; i--) { 6 System.out.print(s.charAt(i)); 7 } 8 System.out.println("----------------"); 9 10 System.out.println("变换前: " + s); 11 System.out.println("变换后: " + reverse1(s)); 12 System.out.println("变换后: " + reverse2(s)); 13 System.out.println("变换后: " + reverse3(s)); 14 }