Java实现String字符串倒序输出

  /**
     * 利用String类的toCharArray
     * 倒序输出
     * @param s
     */
    public static void reverseString1(String s){
        if(s.length()>0){
            char[] c = s.toCharArray();
            for(int i=c.length-1;i>=0;i--){
                System.out.println(c[i]);
            }
        }else{
            System.out.println("是一个空字符串");
        }
    }

  /**
     * 定义一个StringBuffer,利用StringBuffer类中的reverse()方法直接倒序输出
     * @param s
     */
    public static void reverseString2(String s){
        if(s.length()>0){
            StringBuffer buffer = new StringBuffer(s);
            System.out.println(buffer.reverse());
        }else{
            System.out.println("是一个空字符串");
        }
    }
 /**
     * 利用栈先进后出的数据结构特性
     * @param s
     */
    public static void reverseString3(String s){
        if(s.length()>0){
            String str="";
            Stack<Character> strStack = new Stack<Character>();
            char[] chArray = s.toCharArray();
            for(Character ch: chArray) {
                strStack.push(ch);
            }
            int len = s.length();
            for(int i= 0; i< len; i++) {
                chArray[i] = strStack.pop();
            }
            for(Character string :chArray){
                str+=string;
            }
            System.out.println(str);
        }else{
            System.out.println("是一个空字符串");
        }
    }
    
/**
     * 递归
     * @param s
     * @return
     */
    public static String reverseString4(String s){
        if(s.length()>0) {
            int len = s.length();
            if (len == 1) {
                return s;
            } else {
                String str = s.substring(1)+s.charAt(0);
                return reverseString4(s.substring(1)) + s.charAt(0);
            }
        }
        else {
           return "这是一个空字符串";
        }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值