首页 > 其他分享 >分页计算总页数

分页计算总页数

时间:2024-08-14 19:42:17浏览次数:8  
标签:pagination 分页 int 页数 计算 println currentPage public size

public class Pagination {

    private int total;       // 总记录数
    private int size;        // 每页记录数
    private int currentPage; // 当前页码
    private int totalPages;  // 总页数

    public Pagination(int total, int size) {
        this.total = total;
        this.size = size;
        this.currentPage = 1; // 默认当前页码为1
        calculateTotalPages();
    }

    // 计算总页数
    private void calculateTotalPages() {
        this.totalPages = (int) Math.ceil((double) total / size);
    }

    // 获取当前页码
    public int getCurrentPage() {
        return currentPage;
    }

    // 设置当前页码
    public void setCurrentPage(int currentPage) {
        if (currentPage < 1) {
            this.currentPage = 1;
        } else if (currentPage > totalPages) {
            this.currentPage = totalPages;
        } else {
            this.currentPage = currentPage;
        }
    }

    // 获取每页记录数
    public int getSize() {
        return size;
    }

    // 获取总页数
    public int getTotalPages() {
        return totalPages;
    }

    // 获取总记录数
    public int getTotal() {
        return total;
    }

    // 计算当前页的起始记录索引
    public int getStartIndex() {
        return (currentPage - 1) * size;
    }

    // 以下为示例方法,展示如何使用分页类
    public static void main(String[] args) {
        // 假设我们有100条记录,每页显示10条
        Pagination pagination = new Pagination(100, 10);

        // 打印分页信息
        System.out.println("总页数: " + pagination.getTotalPages());
        System.out.println("每页记录数: " + pagination.getSize());
        System.out.println("当前页码: " + pagination.getCurrentPage());
        System.out.println("当前页起始记录索引: " + pagination.getStartIndex());

        // 设置当前页为第5页
        pagination.setCurrentPage(5);
        System.out.println("当前页码: " + pagination.getCurrentPage());
        System.out.println("当前页起始记录索引: " + pagination.getStartIndex());
    }
}

标签:pagination,分页,int,页数,计算,println,currentPage,public,size
From: https://www.cnblogs.com/lijiale/p/18359629

相关文章

  • 云计算28-----haproxy
    一、haproxy官网https://www.haproxy.com/自由及开放源代码软件HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负我均衡,以及基TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的veb站点,这些站点通常又需要会活保或七层处理。HAProxy运行在......
  • 计算机毕业设计推荐-基于JAVA的航空机票预定管理系统
    ......
  • 构建实时数据仓库:流式处理与实时计算技术解析
    目录一、流式处理请求与响应批处理二、实时计算三、Lambda架构Lambda架构的缺点四、Kappa架构五、实时数据仓库解决方案近年来随着业务领域的不断拓展,尤其像互联网、无线终端APP等行业应用的激增,产生的数据量呈指数级增长,对海量数据的处理需求也提出了新的挑战。具......
  • 【AI 生图赢奖】用函数计算绘出「少年江湖」,与热播网剧梦幻联动
    在这个数字化时代,人工智能不再只是科幻小说中的幻想,创意与技术的界限正在被重新定义。摩拳擦掌研究AI的你,是否想用自己的新技术和创造力一试身手呢?阿里云联合优酷推出【少年白马醉春风·AI江湖创作大赛】,无论您是开发者、设计师、还是AI绘画爱好者,都可以使用阿里云函数计......
  • 基于django+vue基于微信小程序的社区物资订购系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在城市化进程加速的今天,社区作为居民生活的基本单元,其内部物资供应与需求的高效匹配显得尤为重要。特别是在特殊时期,如疫情期间,社区物资供......
  • 基于django+vue基于微信小程序的母支组新农改系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着农村电商的蓬勃发展,如何有效整合农村资源、促进农产品上行成为乡村振兴的重要议题。传统的农村市场存在着信息不对称、销售渠道有限等......
  • 基于django+vue基于微信小程序的垃圾分类系统演示录像22023【开题报告+程序+论文】计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在环境保护意识日益增强的今天,垃圾分类作为促进资源循环利用、减少环境污染的关键举措,受到了社会各界的广泛关注。然而,垃圾分类知识的普及......
  • 基于django+vue基于微信小程序的垃圾分类系统演示录像12023【开题报告+程序+论文】计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,生活垃圾产量急剧增加,垃圾分类已成为城市管理和环境保护的重要议题。然而,传统的垃圾分类方式存在效率低、准确性差、......
  • python 计算两个录音文件延迟
    需求a和b通讯,两人都将通话进行录音,现在要计算两段录音的延迟原理录音会有静音片段,通过程序识别到静音片段(比如小于-40dB为静默),计算静音片段的开始和结束时间,两个录音的时间相减得到延迟。系统环境,依赖库python安装pydub库。电脑下载ffmpeg,官网下载压缩包,解压后设置环境......
  • springboot+vue《区块链技术与应用》课程案例信息资源系统【程序+论文+开题】-计算机
    系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,教育领域正经历着前所未有的变革。区块链技术,作为新兴的去中心化、透明度高、安全性强的分布式账本技术,正逐渐渗透到各行各业,其在教育领域的应用潜力尤为巨大。当前,高校教学中案例资源的共享与管理面临着信息孤......