zoukankan      html  css  js  c++  java
  • java笔试之字符逆序(二)

    与字符逆序(一)不同,句子逆序,单词顺序。例如:I am a student 输出为student a am I。

    想法:先字符串句子逆序,然后针对每个单词再逆序一遍。

    package test;
    
    import java.util.Scanner;
    
    //一个句子单词顺序,句子逆序
    public class exam10 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            while (scanner.hasNext()) {
                String str = scanner.nextLine();
                char[] chars = str.toCharArray();
                reverse(chars, 0, chars.length - 1);
                reverseWord(chars);
                for (int i = 0; i < chars.length; i++) {
                    System.out.print(chars[i]);
                }
            }
            scanner.close();
        }
    
        // 字符串组逆序
        public static void reverse(char[] chars, int start, int end) {
            for (int i = start, j = end; i < j; i++, j--) {
                char temp = chars[i];
                chars[i] = chars[j];
                chars[j] = temp;
            }
        }
    
        public static void reverseWord(char[] sentence) {
            int start = 0;// 记录每一个word的开始位置
            for (int i = 0; i < sentence.length; i++) {
                if (sentence[i] != ' ') {
                    continue;
                } else {
                    // 第一个单词找到结尾位置,进行逆序
                    reverse(sentence, start, i - 1);
                    // 查找下一个位置
                    start = i + 1;
                }
            }
            reverse(sentence, start, sentence.length - 1);// 字符串最后一个单词逆序
        }
    }
  • 相关阅读:
    oracle常规操作
    shell 的算数运算
    sed 命令小结
    swing
    索引失效
    poj--1258--Agri-Net(最小生成树)
    CodeForces--626C--Block Towers (二分)
    Codeforces--629A--Far Relative’s Birthday Cake(暴力模拟)
    Codeforces--629B--Far Relative’s Problem(模拟)
    hdoj--5104--Primes Problem(素数打表)
  • 原文地址:https://www.cnblogs.com/bella-young/p/6409790.html
Copyright © 2011-2022 走看看