import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CookiePaginator {
private static final int PAGE_SIZE = 10;
private static List<String> cookies = new ArrayList<>();
public static void main(String[] args) {
// Sample cookie data (replace with your actual data source)
cookies.add("cookie1");
cookies.add("cookie2");
cookies.add("cookie3");
cookies.add("cookie4");
cookies.add("cookie5");
cookies.add("cookie6");
cookies.add("cookie7");
cookies.add("cookie8");
cookies.add("cookie9");
cookies.add("cookie10");
cookies.add("cookie11");
cookies.add("cookie12");
cookies.add("cookie13");
cookies.add("cookie14");
cookies.add("cookie15");
Scanner scanner = new Scanner(System.in);
while (true) {
printPage(0); // Start at the first page
String input = promptUser(scanner);
if ("next".equalsIgnoreCase(input)) {
incrementPage();
} else if ("previous".equalsIgnoreCase(input)) {
decrementPage();
} else if ("quit".equalsIgnoreCase(input)) {
break;
} else {
System.out.println("Invalid input. Try 'next', 'previous', or 'quit'.");
}
}
scanner.close();
}
private static void printPage(int pageNumber) {
int start = pageNumber * PAGE_SIZE;
int end = Math.min((pageNumber + 1) * PAGE_SIZE, cookies.size());
System.out.println("--- Page " + (pageNumber + 1) + " ---");
for (int i = start; i < end; i++) {
System.out.println(cookies.get(i));
}
System.out.println("-----------------------");
}
private static String promptUser(Scanner scanner) {
System.out.print("Enter 'next', 'previous', or 'quit': ");
return scanner.nextLine();
}
private static void incrementPage() {
// Handle reaching the last page
int currentPage = getPageNumber();
if (currentPage + 1 >= (cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE) {
System.out.println("At the last page.");
return;
}
setPageNumber(currentPage + 1);
}
private static void decrementPage() {
int currentPage = getPageNumber();
if (currentPage - 1 <= 0) {
System.out.println("At the first page.");
return;
}
setPageNumber(currentPage - 1);
}
private static int getPageNumber() {
return (int) Math.floor((cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE - 1);
}
private static void setPageNumber(int pageNumber) {
// Ensure page number is within valid range
pageNumber = Math.max(0, Math.min(pageNumber, (cookies.size() + PAGE_SIZE - 1) / PAGE_SIZE - 1));
}
}
Add your comment