package com.kq.test;

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

public class Page {
 private int curPage = 0;
 private int allPage = 0;
 
 public List<String> list;
 
 public void setPageList(){
  list = new ArrayList<String>();
  if(curPage!=1) {
   list.add("prev");
  }
  if(allPage<11) {
   
   for(int i=1;i<=allPage;i++) {
    list.add(String.valueOf(i));
   }
  }else {
   if(curPage<7) {
    for(int i=1;i<=10;i++) {
     list.add(String.valueOf(i));
    }
    list.add("...");
   } else {
    list.add(String.valueOf(1));
    list.add("...");
    
    int start = curPage-4;
    int end = Math.min(curPage+4, allPage);
    
    for(int i=start;i<=end;i++) {
     list.add(String.valueOf(i));
    }
    if(allPage>end) {
     list.add("...");
    }
   }
  }
  if(curPage<allPage) {
   list.add("next");
  }
 }
 
 public List<String> getList() {
  return list;
 }
 public void setList(List<String> list) {
  this.list = list;
 }
 public int getCurPage() {
  return curPage;
 }
 public void setCurPage(int curPage) {
  this.curPage = curPage;
 }
 public int getAllPage() {
  return allPage;
 }
 public void setAllPage(int allPage) {
  this.allPage = allPage;
 }
 
 public static void main(String[] args) {
  Page page = new Page();
  page.setCurPage(10);
  page.setAllPage(10);
  page.setPageList();
  System.out.println(page.getList());
  
  page.setCurPage(3);
  page.setAllPage(11);
  page.setPageList();
  System.out.println(page.getList());
  
  page.setAllPage(15);
  page.setCurPage(15);
  page.setPageList();
  System.out.println(page.getList());
 }
}