Desfazer a última ação em um editor de texto
Muitos editores de texto permitem que você navegue para trás nas alterações e insira palavras que ficaram faltando quando necessário. Com ListIterator, você pode percorrer uma lista de ações de trás para frente e inserir correções onde for preciso.
Neste exercício, você vai percorrer uma lista de palavras em ordem inversa e, se encontrar "error", vai inserir correction antes dela, simulando uma operação de desfazer em um editor de texto.
Este exercicio faz parte do curso
Entrada/Saída e Streams em Java
Instruções do exercicio
- Crie um objeto
ListIteratorpara a listatextHistory, começando pelo final. - Verifique se há mais elementos anteriores disponíveis na lista
textHistory. - Recupere o elemento anterior e mova o
ListIteratorpara trás - Insira o novo elemento
correctionantes do elementoerror
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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);
}
}