page 分页 java

package com.jing.exercise;


public class PageTest2 {
/**
* pageNo -- current 当前第几页
* pageCount  共多少页
* 当前第11页,共15页
1 ...9 10 11current 12 13 ...15
* @param args
*/
public static void main(String[] args) {
for(int pageCount=1;pageCount<=20;pageCount++){
for(int current=1;current<=pageCount;current++){
System.out.println("当前第"+current+"页,共"+pageCount+"页");
pageGen(current, pageCount);
System.out.println();
}
}
}


private static void pageGen(int pageNo, int pageCount) {
StringBuilder sb = new StringBuilder();
if (pageCount<=5){
for(int i=1;i<=pageCount;i++){
if(pageNo == i){
sb.append(i+"current ");
}else{
sb.append(i+" ");
}
}
}else{  //只出现pageNo的前两页和后两页
int showPage = pageNo - 2;
int endPage = pageNo + 2;
if (showPage<=0){
for (int i=1;i<pageNo;i++){
sb.append(i+" ");
}
for (int i=pageNo;i<=endPage;i++){
if(pageNo == i){
sb.append(i+"current ");
}else{
sb.append(i+" ");
}
}
if(pageCount > endPage+1 ){
sb.append("..."+pageCount);
}
}else{
if(showPage>1){
sb.append(1+" ");
}
if(showPage>2){
sb.append("...");
}
//这段是循环中间用的
for(int i=showPage;i<=endPage;i++){
if(pageNo == i){
sb.append(i+"current ");
}else{
sb.append(i+" ");
}
if(i == pageCount){
break;
}
}

if(pageCount > endPage+1 ){
sb.append("..."+pageCount);
}else if(pageCount == endPage+1){
sb.append(pageCount);
}
}
}
System.out.println(sb.toString());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值