zoukankan      html  css  js  c++  java
  • 句子逆序

    题目描述

    将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
    所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符


    接口说明

    /**
     * 反转句子
     * 
     * @param sentence 原句子
     * @return 反转后的句子
     */
    public String reverse(String sentence);


    输入描述:

    将一个英文语句以单词为单位逆序排放。



    输出描述:

    得到逆序的句子


    输入例子:
    I am a boy
    

    输出例子:
    boy a am I



    思路1:按行接收输入的字符串,使用split分割字符串,得到字符串数组,然后逆序输出,要加空格,注意最后是没有空格的,可以在输出时使用String的trim方法去掉前导和后导的空格

    代码:
     1 import java.util.Scanner;
     2 
     3 /**
     4  * 句子逆序
     5  * @author zbt
     6  *
     7  */
     8 public class Test7 {
     9 
    10     public static void main(String[] args) {
    11         Scanner sc = new Scanner(System.in);
    12         String s = sc.nextLine();
    13         System.out.println(new Test7().reverse(s).trim());//最后多加了一个空格符,使用trim可以忽略前导空白和后导空白
    14         sc.close();
    15     }
    16 
    17     public String reverse(String sentence) {
    18         String[] s1 = sentence.split(" ");
    19         StringBuffer sb = new StringBuffer();
    20         for (int i = s1.length - 1; i >= 0; i--) {
    21             sb.append(s1[i] + " ");
    22         }
    23         System.out.println(sb.length());
    24         return sb.toString();
    25     }
    26 
    27 }

    思路2:参考网友,中间使用Collections翻转,价值并不大;参考其使用的java方法

    代码:

     1 import java.util.Scanner;
     2  
     3 public class Test8 {
     4     public static void main(String[] args) {
     5         Scanner sc = new Scanner(System.in);
     6         String sentence = sc.nextLine();
     7         String[] word = sentence.split(" ");
     8         StringBuilder sb = new StringBuilder();
     9         for (int i = word.length - 1; i > 0; i--) {
    10             sb.append(word[i]);
    11             sb.append(" ");
    12         }
    13         sb.append(word[0]);
    14         System.out.print(sb);
    15     }
    16 }
  • 相关阅读:
    为什么 PCB 生产时推荐出 Gerber 给工厂?
    Fedora Redhat Centos 有什么区别和关系?
    【KiCad】 如何给元件给元件的管脚加上划线?
    MCU ADC 进入 PD 模式后出现错误的值?
    FastAdmin 生产环境升级注意
    EMC EMI 自行评估记录
    如何让你的 KiCad 在缩放时不眩晕?
    KiCad 5.1.0 正式版终于发布
    一次单片机 SFR 页引发的“事故”
    java基础之集合
  • 原文地址:https://www.cnblogs.com/crazybuddy/p/5328354.html
Copyright © 2011-2022 走看看