1. 程式人生 > >面試測試崗位常常要求手寫的程式碼系列【一】

面試測試崗位常常要求手寫的程式碼系列【一】

import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Sort {

    public static void main(String[] args) {


        String str = "i-am-a-boy";
        String[] words = str.trim().split("-");

        for (int i = words.length - 1; i >= 0; i--) {
            System.out.print(words[i] + "-");
        }
        System.out.print("!!!注意多了一個-,是空格往往看不出來" + "\n");


        String strb = "i-am-a-boy";
        String[] wordb = strb.trim().split("-");

        for (int i = wordb.length - 1; i >= 0; i--) {
            if (i == 0) {
                System.out.print(wordb[i]);
            } else
                System.out.print(wordb[i] + "-");
        }
        System.out.print("修復了一下,將最後一個不輸出-了" + "\n");

        //下面是多個空格的處理方式
        String str2 = "i---am--a-boy";
        String[] words2 = str2.trim().split("-");//會有空字串的出現
        System.out.println("----字串陣列的長度是-----:" + words2.length);

        for (int i = words2.length - 1; i >= 0; i--) {
            if (i == 0) {
                System.out.println(words2[i]);
            } else
                System.out.print(words2[i] + "-");
        }
        //思路是變成兩個字串陣列,
        // 一個是有字串(不為空)的列表list
        // 一個是記錄---的陣列;這邊又考慮了兩種方式,一種正則表示式擷取字串(how to),一種是數-的個數,怎麼數,用上述陣列中到空格
        // 然後拼起來
        //String newstr = str2.replace("-", " ");//使用庫函式
        String newstr2 = str2.replaceAll("[a-zA-Z]", "*");//
        System.out.println(newstr2);
        String newstr3 = newstr2.replace("-", "R");//使用
        System.out.println(newstr3);
        //1
        List<String> strlist = Lists.newArrayList();
        for (int i = words2.length - 1; i >= 0; i--) {
            if (words2[i].length() != 0) {//
                strlist.add(words2[i]);
            }
        }
        System.out.println(strlist);


        String[] words3 = newstr3.trim().split("\\*");//會有空字串的出現
        List<String> sinlist = Lists.newArrayList();
        for (int i = 0; i <=words3.length-1; i++) {
            if (words3[i].length() != 0) {//
                sinlist.add(words3[i]);
            }
        }
        System.out.println(sinlist);
        //Collections.replaceAll(sinlist, "a", "-");


        if(strlist.size()-1==sinlist.size())
        {for(int i=0;i<=sinlist.size()-1;i++)
        {System.out.print(strlist.get(i)+sinlist.get(i));}
        System.out.print(strlist.get(strlist.size()-1));
        }
        else System.out.println("那就尷尬了");

        String aaa="";
        if(strlist.size()-1==sinlist.size())
        {for(int i=0;i<=sinlist.size()-1;i++)
        {aaa=aaa+(strlist.get(i)+sinlist.get(i));}
            aaa=aaa+strlist.get(strlist.size()-1);
        }

        else System.out.println("那就尷尬了");

        aaa = aaa.replace("R", "-");
        System.out.println("\n"+aaa);
    }
}