i為backspace o為撤銷,求輸出實際結果
阿新 • • 發佈:2018-12-19
位元組跳動筆試題 java
/** * * zijietiaodong * * 情況分析 * 1.首字母為i或o; * 2.首字母存在且非i或o情況下,存在下一個字母的情況下且當前字母為i 下一個字母為 o; * 3.首字母存在且非i或o情況下,當前字母為i * 4.首字母存在且非i或o情況下,當前字母為o */ package 考試位元組跳動; import java.util.Scanner; public class InputWrong { public static void main(String[] args) { @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); StringBuffer sb = new StringBuffer(str); for (int i = 0; i < sb.length(); i++) { System.out.println("此時" + sb.toString()); if (i == 0 && (sb.charAt(i) == 'i' || sb.charAt(i) == 'o')) { System.out.println("yi"); sb.deleteCharAt(i); i = -1;// -1才能繼續從頭迴圈; continue; } if (i < sb.length() - 1) {// 說明i+1存在 System.out.println("san"); if (sb.charAt(i) == 'i' && sb.charAt(i + 1) == 'o') { sb.delete(i, i + 2); i = -1; continue; } } if (sb.charAt(i) == 'i') { System.out.println("er1"); sb.delete(i - 1, i + 1);// start 留的最後一個;end 刪的最後一個; i = -1; continue; } if (sb.charAt(i) == 'o') { System.out.println("er2"); sb.delete(i - 1, i + 1);// start 留的最後一個;end 刪的最後一個; i = -1; continue; } } System.out.println(sb.toString()); } }