page 分页 java

来源:互联网 发布:mac pretty boy 编辑:程序博客网 时间:2024/05/18 20:11
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());
}
}
0 0
原创粉丝点击