Q42:翻转单词顺序VS左旋转字符串

本文介绍了一种通过翻转单词顺序来实现字符串处理的方法。具体包括两种解题思路:一是整体翻转后再局部翻转单词;二是利用空格作为分隔符进行处理。通过实例演示了如何使用StringBuffer实现字符串的追加。

publicclass Q42翻转单词顺序VS左旋转字符串 {
   /**
    * 题目:翻转单词顺序VS左旋转字符串
    * 题目说明:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符合和普通字符一样处理。例如输入字符串“I am a student.",则输出"student. a am I"。
    * 解题思路(1):翻转句子中所有的字符,例如 I am a student.——> .tneduts amaI,第二步翻转每个单词,——> student. a am I
    * 解题思路(2):以空格为分界符,将字符串存放在String[]中,
    */
   publicstatic void main(String[] args) {
      Q42翻转单词顺序VS左旋转字符串  test = new Q42翻转单词顺序VS左旋转字符串();
      test.Reverse("i am a student.");
   }
   //翻转函数,实现字符串的翻转
   publicvoid Reverse(String string){
      if(string ==null){
         return ;
      }
      String[] strings = string.split(" ");//每一个单元中存放的是一个单词
//    System.out.println(strings[0]);------>i
//    System.out.println(strings[1]);------>am
      StringBuffer stringBuffer = new StringBuffer();
      for(int i = strings.length-1; i >= 0; i--){
         stringBuffer.append(strings[i]+" ");//append()方法将字符串(每个单词)追加到字符序列中。
      }
      System.out.println(stringBuffer);
   }
}
/*说明:StringBuffer上的主要操作是append和insert方法,可重载这些方法,以接收任意类型的数据。
 * append()方法始终将这些字符添加到缓冲区的末端。
 */


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值