如何用java将一句英文倒序输出

最近遇到一个面试题,主要内容要求将英文“welcome to china"倒序输出即“china to welcome”。
将abc,倒序输出cba很简单,但是将单词分割开,再倒序输出就很麻烦。为此,有以下思路:
总的来说是利用split拆分。拆分过程利用数组存储,顺序拆分,倒序存储。也就是说,假如共有三个元素,a[0],a[1],a[2],我们顺序拆分时,先存储a[2],再存储a[1],最后存储a[0],并考虑中间的空格情况。以下是具体的代码:

public class Test1 {
    public static void main(String[] args) {
    //这里的reverse是自己定义的一个拆分方法
        String str = reverse("welcome to china");
        System.out.println(str);
    }

    private static String reverse(String str) {
        StringBuffer sbf = null;
        if (str != null) {
            String[] arr = str.split(" ");
            //for循环倒序存储
            for (int i = arr.length - 1; i >= 0; i--) {
                if (sbf == null) {
                    sbf = new StringBuffer();
                    sbf.append(arr[i]);
                } else {
                    sbf.append(" ").append(arr[i]);
                }
            }
        }
        return sbf == null ? "" : sbf.toString();
    }

}

运行结果:china to welcome

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值