Advertisement
alexj90

Browser History Upgrade - Stacks and Queues

Jan 18th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.32 KB | None | 0 0
  1. import java.util.ArrayDeque;
  2. import java.util.Scanner;
  3.  
  4. public class BrowserHistoryUpgrade {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.         ArrayDeque<String> forward = new ArrayDeque<>();
  8.         ArrayDeque<String> history = new ArrayDeque<>();
  9.         while (true) {
  10.             String line = scanner.nextLine();
  11.             String output ;
  12.             switch (line) {
  13.                 case "back":
  14.                     if (history.size() <= 1) {
  15.                         output = "no previous URLs";
  16.                     } else {
  17.                         forward.addFirst(history.pop());
  18.                         output = history.peek();
  19.                     }
  20.                     break;
  21.                 case "forward":
  22.                     if (forward.size() <= 0){
  23.                         output= "no next URLs";
  24.                     }else {
  25.                         history.push(forward.poll());
  26.                         output = history.peek();
  27.                     }
  28.                     break;
  29.                 case "Home":
  30.                     return;
  31.                 default:
  32.                     output = line;
  33.                     history.push(line);
  34.                     forward.clear();
  35.             }
  36.             System.out.println(output);
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement