在 Java 中实现“上一页 / 下一页”的分页功能,常见的场景是在 Web 应用或控制台程序中显示分页数据。以下是一个简单的控制台分页示例,也适用于思考分页逻辑:


✅ 控制台版分页示例(上一页 / 下一页)

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class PaginationDemo {
    public static void main(String[] args) {
        List<String> items = new ArrayList<>();
        for (int i = 1; i <= 50; i++) {
            items.add("Item " + i);
        }

        final int pageSize = 10;
        int currentPage = 1;
        int totalPage = (int) Math.ceil((double) items.size() / pageSize);

        Scanner scanner = new Scanner(System.in);
        String command;

        while (true) {
            // 显示当前页内容
            int start = (currentPage - 1) * pageSize;
            int end = Math.min(start + pageSize, items.size());
            System.out.println("\n当前页: " + currentPage + " / " + totalPage);
            for (int i = start; i < end; i++) {
                System.out.println(items.get(i));
            }

            // 显示分页操作
            System.out.println("\n输入命令:n(下一页),p(上一页),q(退出)");
            command = scanner.nextLine();

            if (command.equalsIgnoreCase("n")) {
                if (currentPage < totalPage) {
                    currentPage++;
                } else {
                    System.out.println("已经是最后一页!");
                }
            } else if (command.equalsIgnoreCase("p")) {
                if (currentPage > 1) {
                    currentPage--;
                } else {
                    System.out.println("已经是第一页!");
                }
            } else if (command.equalsIgnoreCase("q")) {
                System.out.println("退出分页!");
                break;
            } else {
                System.out.println("无效的命令!");
            }
        }

        scanner.close();
    }
}

📝 Web应用中的分页思路(以Servlet为例):

int pageSize = 10;
int currentPage = Integer.parseInt(request.getParameter("page"));
int start = (currentPage - 1) * pageSize;

List<Item> items = itemService.getItems(start, pageSize);
// 然后在 JSP 中显示数据,并添加“上一页”、“下一页”链接

是否需要Web分页、数据库分页、还是Swing分页?

如果你是在做:

  • Web 项目:需要结合前端分页按钮
  • 数据库分页:用 SQL 的 LIMIT 语句
  • 桌面程序(Swing/JavaFX):可以结合按钮事件监听来切换页数

可以告诉我你使用的环境,我可以给你更具体的代码(比如 JSP、Spring Boot、Swing、JavaFX 等)。