1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. public class CookiePaginator {
  5. private static final int PAGE_SIZE = 10;
  6. private static List<String> cookies = new ArrayList<>();
  7. public static void main(String[] args) {
  8. // Sample cookie data (replace with your actual data source)
  9. cookies.add("cookie1");
  10. cookies.add("cookie2");
  11. cookies.add("cookie3");
  12. cookies.add("cookie4");
  13. cookies.add("cookie5");
  14. cookies.add("cookie6");
  15. cookies.add("cookie7");
  16. cookies.add("cookie8");
  17. cookies.add("cookie9");
  18. cookies.add("cookie10");
  19. cookies.add("cookie11");
  20. cookies.add("cookie12");
  21. cookies.add("cookie13");
  22. cookies.add("cookie14");
  23. cookies.add("cookie15");
  24. Scanner scanner = new Scanner(System.in);
  25. while (true) {
  26. printPage(0); // Start at the first page
  27. String input = promptUser(scanner);
  28. if ("next".equalsIgnoreCase(input)) {
  29. incrementPage();
  30. } else if ("previous".equalsIgnoreCase(input)) {
  31. decrementPage();
  32. } else if ("quit".equalsIgnoreCase(input)) {
  33. break;
  34. } else {
  35. System.out.println("Invalid input. Try 'next', 'previous', or 'quit'.");
  36. }
  37. }
  38. scanner.close();
  39. }
  40. private static void printPage(int pageNumber) {
  41. int start = pageNumber * PAGE_SIZE;
  42. int end = Math.min((pageNumber + 1) * PAGE_SIZE, cookies.size());
  43. System.out.println("--- Page " + (pageNumber + 1) + " ---");
  44. for (int i = start; i < end; i++) {
  45. System.out.println(cookies.get(i));
  46. }
  47. System.out.println("-----------------------");
  48. }
  49. private static String promptUser(Scanner scanner) {
  50. System.out.print("Enter 'next', 'previous', or 'quit': ");
  51. return scanner.nextLine();
  52. }
  53. private static void incrementPage() {
  54. // Handle reaching the last page
  55. int currentPage = getPageNumber();
  56. if (currentPage + 1 >= (cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE) {
  57. System.out.println("At the last page.");
  58. return;
  59. }
  60. setPageNumber(currentPage + 1);
  61. }
  62. private static void decrementPage() {
  63. int currentPage = getPageNumber();
  64. if (currentPage - 1 <= 0) {
  65. System.out.println("At the first page.");
  66. return;
  67. }
  68. setPageNumber(currentPage - 1);
  69. }
  70. private static int getPageNumber() {
  71. return (int) Math.floor((cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE - 1);
  72. }
  73. private static void setPageNumber(int pageNumber) {
  74. // Ensure page number is within valid range
  75. pageNumber = Math.max(0, Math.min(pageNumber, (cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE - 1));
  76. }
  77. }

Add your comment