1. 程式人生 > 其它 >java筆試題(三)

java筆試題(三)

public class Javatest77 {
    /**
     * 筆試題
     * 練習3:輸入字串(中間有若干個空格隔開),要求:以空格隔開,刪除空格兩邊字串的重複字元再輸出,
     * 例:aabbbcc ddaaaffggbb變為abc dafgb(注意:輸入的空格得保留下來)
     */
    public static void main(String[] args) {
        String s = "aabbbcc ddaaaffggbb";
        char[] arr = s.toCharArray();
        for (int
i = 0,j = i + 1; i < arr.length - 1 && j < arr.length;) { //跳過空格 if(arr[j] == ' '){ i = j + 1; j = j + 1; } //i跳過重複需要被刪除字元 else if(arr[i] != arr[j]){ i++; while(arr[i] == '*'){ i
++; } } //重複需要被刪除的字元用‘*’替換 else if(arr[i] == arr[j]){ arr[j] = '*'; } //以上三個if任何一個成立,都會執行j++ j++; } StringBuilder s1 = new StringBuilder(); //遍歷字元陣列,跳過‘*’ for (int i = 0; i < arr.length; i++) {
if(arr[i] != '*'){ s1.append(arr[i]); } } System.out.println(s1.toString()); } }