华为在线编程题系列-13-句子逆序


题目总览


问题描述:

1. 问题涉及知识点.

  • String.split(key)分词
  • 逆序

2. 自己解法.

  • 使用string.split(" ")使用空格进行分词.
  • 反向打印数组.
package com.chaoxiong.niuke.huawei;

import java.util.Scanner;

/**
 * Create by tianchaoxiong on 18-4-9.
 */
public class HuaWei_13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String key = scanner.nextLine();
            String result = reverse(key);
            System.out.println(result);
        }
    }

    private static String reverse(String key) {
        String []stringArr = key.trim().split(" ");
        //使用 stringBuilder做一个合并.
        StringBuilder stringBuilder = new StringBuilder();
        for(int i=0;i<stringArr.length;i++){
            stringBuilder.append(stringArr[stringArr.length-1-i]).append(" ");
        }
        return stringBuilder.toString().trim();
    }
}

3. 优质答案.

  • string.getByte()把string转为byte数组,每个数组中是一个单词.
  • 可使用(char)byte转为char.
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String s = in.nextLine();  
            byte[] b = s.getBytes();//每个byte数组中存放一个词语.
            for (int i = b.length-1; i >= 0; i--) {
                System.out.print((char)b[i]);
            }
        }                      
    }
}

4. 本题总结.

  • string.getByte()将string转为byte数组,每个byte刚好使用空格隔开.

猜你喜欢

转载自blog.csdn.net/u012222078/article/details/80215810
今日推荐