英语单词间的反转

171 阅读1分钟

public class WordFlip {
    public static void main(String[] args) {

        String str = "I am a student zhang";
        String s = change(str);
        System.out.println(s);
    }

    /**
     *
     * @param str 需要反转的字符串组
     * @return
     */
    public static String change(String str){
        // 分割每个单词
        String[] a = str.split(" ");
        // 创建一个反转的数组
        String[] b= new String[a.length];
        for(int i = 0; i < a.length; i++) {
            // 对单个单词进行反转
            char[] c = new char[a[i].length()];
            // 获得单词的末尾长度
            int j = a[i].length() - 1;
            // 遍历单词
            for(int z = 0; z < a[i].length(); z++){
                // 首未替换
                c[z] = a[i].charAt(j);
                j--; // 向前移动
            }
            // 将字符转为字符串
            b[i] = String.valueOf(c);
        }

        // 拼接成字符串返回
        StringBuffer res = new StringBuffer();
        for (int i = 0; i < b.length; i++) {
            res.append(b[i]);
            if (i != b.length -1) {
                res.append(" ");
            }
        }
        return res.toString();
    }
}