歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 用Java編寫函數反轉字符串

用Java編寫函數反轉字符串

日期:2017/3/1 10:26:28   编辑:Linux編程

如下所示,下面是兩種反轉字符串的方法。

實踐過程中發現,如果是中文字符串,第二種反轉方法會輸出亂碼。

因此,建議首選第一種方法。

  1. /**
  2. * 反轉字符串 演示實例
  3. * 假設有一個字符串 “ABCDEF”,反轉後,輸出“FEDCBA”
  4. */
  5. package com.reverse;
  6. /**
  7. * @author snowdream
  8. *
  9. * @since 2012.03.05
  10. *
  11. */
  12. public class StringReverse {
  13. /**
  14. *
  15. * ReverseString: 利用StringBuffer反轉字符串
  16. *
  17. * @param str 待反轉字符串
  18. * @return String 已反轉字符串
  19. */
  20. public String ReverseString(String str){
  21. StringBuffer mstr = new StringBuffer(str);
  22. System.out.println("Reversed String : "+ mstr.reverse().toString());
  23. return mstr.reverse().toString();
  24. }
  25. /**
  26. *
  27. * ReverseString1: 利用字符數組的方法反轉字符串
  28. *
  29. * @param str 待反轉字符串
  30. * @return String 已反轉字符串
  31. */
  32. public String ReverseString1(String str){
  33. byte[] mchars = str.getBytes();
  34. byte temp = 0;
  35. int length = mchars.length;
  36. for(int i = 0; i < length/2 ;i++){
  37. temp = mchars[i];
  38. mchars[i] = mchars[length -1 -i];
  39. mchars[length -1 -i] = temp;
  40. }
  41. String mstr = new String(mchars);
  42. System.out.println("Reversed String : "+ mstr);
  43. return mstr;
  44. }
  45. /**
  46. * @param args
  47. */
  48. public static void main(String[] args) {
  49. StringReverse mReverse = new StringReverse();
  50. //String str = "Hello World!";
  51. String str = "你好 中國!";
  52. mReverse.ReverseString(str);
  53. mReverse.ReverseString1(str);
  54. }
  55. }
Copyright © Linux教程網 All Rights Reserved