Advertisement
Tsuki11

Untitled

May 21st, 2020
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayDeque;
  5. import java.util.Deque;
  6.  
  7. public class Exercise_Task_8_SimpleTextEditor {
  8. public static void main(String[] args) throws IOException {
  9. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  10.  
  11. int countOfOperations = Integer.parseInt(reader.readLine());
  12.  
  13. StringBuilder text = new StringBuilder();
  14. Deque<String> history = new ArrayDeque<>();
  15.  
  16. while(countOfOperations-- > 0){
  17. String[] tokens = reader.readLine().split(" ");
  18. String operation = tokens[0];
  19. String commandArgument = "";
  20.  
  21. if(tokens.length > 1){
  22. commandArgument = tokens[1];
  23. }
  24.  
  25. switch (operation){
  26. case"1":
  27. history.push(text.toString());
  28. text.append(commandArgument);
  29. break;
  30. case"2":
  31. history.push(text.toString());
  32. int count = Integer.parseInt(commandArgument);
  33. int endIndex = text.length();
  34. int startIndex = endIndex - count;
  35. text.delete(startIndex,endIndex);
  36. break;
  37. case"3":
  38. int indexOfChar = Integer.parseInt(commandArgument) - 1;
  39. if(text.length() <= indexOfChar || indexOfChar < 0){
  40. break;
  41. }
  42. System.out.println(text.charAt(indexOfChar));
  43. break;
  44. case"4":
  45. if(!history.isEmpty()){
  46. text.setLength(0);
  47. text.append(history.pop());
  48. break;
  49. }
  50. }
  51.  
  52. }
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement