시작하기무료로 시작하기

텍스트 편집기에서 마지막 동작 실행 취소

많은 텍스트 편집기는 사용자가 변경 사항을 거꾸로 탐색하고 필요한 경우 누락된 단어를 삽입할 수 있게 해요. ListIterator를 사용하면 동작 목록을 뒤로 이동하면서 필요한 곳에 수정 내용을 삽입할 수 있습니다.

이 연습 문제에서는 단어 목록을 역순으로 순회하면서 "error"를 찾으면 그 앞에 correction을 삽입해, 텍스트 편집기에서 실행 취소를 수행하는 것처럼 동작을 구현해 보겠습니다.

이 연습은 강의의 일부입니다

Java의 입력/출력과 스트림

강의 보기

연습 안내

  • 끝에서 시작하여 textHistory 목록용 ListIterator 객체를 생성하세요.
  • textHistory 목록에 이전 요소가 더 있는지 확인하세요.
  • 이전 요소를 가져오고 ListIterator를 뒤로 이동하세요.
  • 요소 error 앞에 새 요소 correction을 삽입하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

public class TextEditorUndo {
    public static void main(String[] args) {
        ArrayList textHistory = new ArrayList<>();
        textHistory.add("Hello");
        textHistory.add("error");
        textHistory.add("world");

        // Create ListIterator starting from the end of the list
        ListIterator it = textHistory.____(textHistory.____());

        // Check if more elements are available in reverse order
        while (____.____()) {
        	// Retrieve previous element
            String word = ____.____();
            if (word.equals("error")) {
                // Insert "correction" before "error"
                ____.____("correction");
            }
        }

        System.out.println(textHistory);
    }
}
코드 편집 및 실행