zoukankan      html  css  js  c++  java
  • JAVA中如何实现字符串的反转?

    第一种:使用递归的方法,实现字符串反转:

     1 /**
     2  *  使用递归方法,实现字符串反转
     3  */
     4 public class C {
     5 
     6     static String reverse(String originStr) {
     7         if(originStr == null || originStr.length() <= 1){
     8             return originStr;
     9         }
    10         return reverse(originStr.substring(1)) + originStr.charAt(0);
    11     }
    12 
    13 
    14     public static void main(String[] args) {
    15         System.out.println(reverse("123456"));
    16         System.out.println(reverse("ABCDEFG"));
    17     }
    18 }

    第二种:使用StringBuilder的reverse()方法,实现字符串反转:

     1 /**
     2  *  使用StringBuilder的reverse()方法,实现字符串反转
     3  */
     4 public class D {
     5     static String reverse(String str){
     6         StringBuilder result = new StringBuilder(str);
     7         return result.reverse().toString();
     8     }
     9 
    10     public static void main(String[] args) {
    11         System.out.println(reverse("123456"));
    12         System.out.println(reverse("ABCDEF"));
    13     }
    14 }

    第三种:使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转:

     1 /**
     2  * 使用字符串数组,实现从尾部开始逐个逆序放入字符串,实现字符串的反转
     3  */
     4 public class E {
     5     static String reverse(String str){
     6         // String 转换成字符数组
     7         char[] charArray = str.toCharArray();
     8         // 定义一个空字符串
     9         StringBuilder result = new StringBuilder();
    10 
    11         for (int i = charArray.length-1; i>=0 ; i--) {
    12             result.append(charArray[i]);
    13         }
    14         return result.toString();
    15     }
    16 
    17 
    18     public static void main(String[] args) {
    19         System.out.println(reverse("123456"));
    20         System.out.println(reverse("ABCDEF"));
    21     }
    22 }

    第四种:使用String的CharAt()方法,使用String的CharAt方法取出字符串的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作  

     1 /**
     2  * 使用 String的CharAt方法,使用String的CharAt方法取出字符串的各个字符,
     3  * 然后插入到字符串中,调用StringBuilder的insert()方法进行操作
     4  */
     5 public class F {
     6 
     7     static String reverse(String str){
     8         StringBuilder result = new StringBuilder();
     9 
    10         int length = str.length();
    11 
    12         for (int i = 0; i < length; i++) {
    13             result.insert(0,str.charAt(i));
    14         }
    15         return result.toString();
    16     }
    17 
    18     public static void main(String[] args) {
    19         System.out.println(reverse("123456"));
    20         System.out.println(reverse("ABCDEF"));
    21     }
    22 }

                      

  • 相关阅读:
    SVN+Axure版本管理&协同设计(一)
    postgresql数据库删除时提示回话 sessions using the database
    odoo开发笔记 -- many2one搜索更多增加默认过滤条件
    Docker Ubuntu中安装ping ifconfig命令
    odoo开发笔记 -- div标签代替odoo button写法
    odoo开发笔记 -- 模型字段定义中设置默认值
    linux 清空历史命令
    linux 根据端口查看系统进程
    odoo开发笔记 -- self详解
    odoo开发笔记 -- 传递上下文实现列表视图按照指定条件过滤显示
  • 原文地址:https://www.cnblogs.com/liangbaolong/p/14601513.html
Copyright © 2011-2022 走看看