int maxPage=0; //最大页数
if(count%size==0)
{
maxPage=count/size;
}else{
maxPage=count/size+1;
}
if(maxPage>p+1){
int[] num =new int[showSize];
if(maxPage<showSize){
num=new int[maxPage];
}
int beginP=1;
if(p==showSize){
beginP=(p/showSize)+4; //取整数
}
if(p>showSize){
beginP=(p/showSize)*showSize+1;
}
int nPage=count/showSize;
if(showSize>maxPage){
showSize=maxPage;
}
if(maxPage>showSize){
if(p%showSize > showSize/2){
beginP=p-showSize/2+1;
}
}
if(p%showSize<showSize/2&&p>=showSize){
beginP=p-showSize/2+1;
}
if(maxPage>showSize){
if(p>nPage-showSize){
beginP=nPage-showSize+1;
}
}
if(p+showSize>maxPage&&p>=showSize){
beginP=maxPage-showSize+1;
}
if(maxPage<=p){
num[0]=1;
}else{
for(int i=0;i<num.length;i++){
num[i]=beginP+i;
}
}
model.setNum(num);
}else{
if(maxPage>showSize){
int[] num =new int[showSize];
int k=0;
for(int i=maxPage-showSize;i<maxPage;i++){
num[k]=i+1;
k++;
}
model.setNum(num);
}else{
if(maxPage>=p+1){
int[] num =new int[p+1];
for(int i=0;i<p+1;i++){
num[i]=i+1;
}
model.setNum(num);
}
}
}
if(count%size==0)
{
maxPage=count/size;
}else{
maxPage=count/size+1;
}
if(maxPage>p+1){
int[] num =new int[showSize];
if(maxPage<showSize){
num=new int[maxPage];
}
int beginP=1;
if(p==showSize){
beginP=(p/showSize)+4; //取整数
}
if(p>showSize){
beginP=(p/showSize)*showSize+1;
}
int nPage=count/showSize;
if(showSize>maxPage){
showSize=maxPage;
}
if(maxPage>showSize){
if(p%showSize > showSize/2){
beginP=p-showSize/2+1;
}
}
if(p%showSize<showSize/2&&p>=showSize){
beginP=p-showSize/2+1;
}
if(maxPage>showSize){
if(p>nPage-showSize){
beginP=nPage-showSize+1;
}
}
if(p+showSize>maxPage&&p>=showSize){
beginP=maxPage-showSize+1;
}
if(maxPage<=p){
num[0]=1;
}else{
for(int i=0;i<num.length;i++){
num[i]=beginP+i;
}
}
model.setNum(num);
}else{
if(maxPage>showSize){
int[] num =new int[showSize];
int k=0;
for(int i=maxPage-showSize;i<maxPage;i++){
num[k]=i+1;
k++;
}
model.setNum(num);
}else{
if(maxPage>=p+1){
int[] num =new int[p+1];
for(int i=0;i<p+1;i++){
num[i]=i+1;
}
model.setNum(num);
}
}
}