Ångra senaste åtgärd i en textredigerare
Många textredigerare låter användare navigera bakåt genom ändringar och infoga saknade ord vid behov. Med ListIterator kan du röra dig bakåt genom en lista med åtgärder och infoga korrigeringar där det behövs.
I den här övningen går du igenom en lista med ord i omvänd ordning. Om du hittar "error" infogar du correction före det, vilket simulerar en ångra-åtgärd i en textredigerare.
Den här övningen är en del av kursen
Input/Output och strömmar i Java
Övningsinstruktioner
- Skapa ett
ListIterator-objekt för listantextHistory, med start från slutet. - Kontrollera om det finns fler föregående element i listan
textHistory. - Hämta föregående element och flytta
ListIteratorbakåt. - Infoga det nya elementet
correctionföre elementeterror.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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);
}
}