搜尋此網誌

中央氣象局:高雄市今明天氣預報

2013年4月20日 星期六

[java] 從一段文章挖洞成填充題

首先需要知道"洞"開始 & 結束的位置,存成兩個int[] (start & end),

接著仿照數線的方式,一步步擷取出來

1. 擷取開頭到第一個空格前(存成題目)

2. 擷取第一個空格(存成答案)

3. 擷取第一個空格後,到第二的空格前(存成題目)

4. 反覆2~3

5. 擷取最後一個空格後,到字串尾巴(存成題目)




                        第一格              第二                      第三
                        ______               ______                    ______
START-----1s-----1e-----2s-----2e--------3s----3e------END


程式碼:

        int[] a = {2,5,10};
        int[]b = {4,8,15};
        String t = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String ans[]=new String[a.length];
        String que;
       
        for(int i =0;i<3;i++){
            System.out.println("ANS : "+t.substring(a[i],b[i]));
        }
       
       
        que = t.substring(0,a[0]);
        for(int i=0;i<a.length;i++){
            ans[i] = t.substring(a[i],b[i]);
            if(i != a.length-1){
                que+="|";
                que +=t.substring(b[i],a[i+1]);
            }
            else{
                que +=t.substring(b[i]);
            }
        }
        System.out.println("QUE : "+ que);
        System.out.println("ANS: " + ans[0]+" "+ans[1]+" "+ans[2]);

輸出畫面:

ANS : CD
ANS : FGH
ANS : KLMNO
QUE : AB|E|IJPQRSTUVWXYZ
ANS: CD FGH KLMNO


沒有留言:

張貼留言