英文语句中单词倒排序

题目描述
对字符串中的所有单词进行倒排。

说明:

1、每个单词是以26个大写或小写英文字母构成;

2、非构成单词的字符均视为单词间隔符;

3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;

4、每个单词最长20个字母;

输入描述:
输入一行以空格来分隔的句子

输出描述:
输出句子的逆序

示例1
输入
I am a student
输出
student a am I

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
       // String s = "  alksjfsl   lsakdjfa@@@@dgfsg3333  ";

        StringBuilder stringBuilder = new StringBuilder();
        for(int i=0;i<s.length();i++){
            char c = s.charAt(i);
            if(c>='a'&&c<='z'||c>='A'&&c<='Z'){
                stringBuilder.append(c);
            }else{
                stringBuilder.append(" ");
            }
        }

        String str = stringBuilder.toString().trim();
        String[] split = str.split("[ ]+");

        StringBuilder stringBuilder1 = new StringBuilder();
        for (int i=0; i<split.length; i++) {
            split[i] = split[i].trim();
            //System.out.println(split.length);
            //System.out.println(split[i]);

            stringBuilder1.append(split[split.length-1-i]);
            if(i!=split.length-1){
                stringBuilder1.append(" ");
            }
        }
        System.out.println(stringBuilder1.toString());
    }
}


posted @ 2019-11-10 14:34  小小白兔兔  阅读(285)  评论(0编辑  收藏  举报