字符串反转

import java.util.Stack;

/*
*字符串反转
*
* 方法一:String类的api中的reverse方法
* 方法二:可以通过栈来实现Stack的push()和pop()方法
* */
public class StrReverse {
    public static void main(String[] args) {
        //方法一:StringBuilder类的api中的reverse方法
        method01();
        //方法二:可以通过栈Stack的push()和pop()方法来实现
        method02();

    }

    private static void method02() {
        String str  = "ABC123abc";
        //将字符串转换为字符数组
        char[] charArray = str.toCharArray();
        //将字符数组中的值依次入栈
        Stack<Character> stack = new Stack<>();
        //加强版for循环
        for(char  item : charArray){
            stack.push(item);//char数组的元素push()依次入栈
        }
        //多次出栈直至结束即为逆转,需使用StringBuilder类来拼接出栈元素
        StringBuilder newStr = new StringBuilder();
        for(int i = 0;i<charArray.length;i++){
            newStr.append(stack.pop());
        }

        System.out.println("逆转前为:"+str);
        System.out.println("逆转后为:"+newStr);
    }

    private static void method01() {
        String str="ABC123abc";
        //通过String的实现类StringBuilder
        StringBuilder stringBuilder = new StringBuilder(str);
        stringBuilder.append("456");
        System.out.println("ABC123abc"+"拼接上"+"456后,为:"+stringBuilder);
        System.out.println("逆转前为:"+stringBuilder);
        stringBuilder.reverse();
        System.out.println("逆转后为:"+stringBuilder);
    }


}

  

posted @ 2021-05-31 14:56  BAILANGL  阅读(85)  评论(0)    收藏  举报