1.最簡單直接的方法 :StringBuilder StringBuffer reverse
String str = "123456789qwertyuiop"; StringBuffer sBuffer = new StringBuffer(str); StringBuilder sBuilder =new StringBuilder(str); System.out.println(sBuffer.reverse()); System.out.println(sBuilder.reverse());
2.charAt()
/** * 該方法是通過charAt()方法獲得每一個char的字符,i=0時獲得第一個字符a然后賦值給reverse * 此時reverse="a";i=1時獲得第二個字符b然后加上reverse再賦值給reverse,此時reverse="ba"; * 一次類推 */ public static String CharAtreverse(String s) { int length = s.length(); String reverse = ""; for (int i=0; i<length; i++) reverse = s.charAt(i) + reverse; return reverse; }
3. 通過String的toCharArray()方法可以獲得字符串中的每一個字符串並轉換為字符數組,然后用一個空的字符串從后向前一個個的拼接成新的字符串
String str = "123456789qwertyuiop"; String reverse = ""; char[] cs = str.toCharArray(); /*for (int i = cs.length -1; i >=0; i--) { reverse +=cs[i]; }*/
//Array.Reverse(cs); for (int i = 0; i < cs.length; i++) { reverse = cs[i]+reverse; } System.out.println(reverse);
4.使用遞歸法:
public String reverseByRecursion(String str) { int length = str.length(); if (length <= 1) { return str; } return reverseByRecursion(str.substring(1)) + str.charAt(0); }
