package com.mht.define.portal.cms.utils;
import java.util.HashMap;
import java.util.Map;
public class BaiduDvidePage {
//不完善
public Map<String, Object> input(int page,int last){
Map<String, Object> map=new HashMap<>();
if(page<=last){
if (page>0){
if(page<=6){
if(page!=1){
map.put("上一页", page-1);
System.out.print("上一页"+"\t");
}
for(int i=1;i<=page;i++){
if(i!=page){
map.put("page"+i, i);
System.out.print(i+"\t");
}
if(i==page){
map.put("currypage", i);
System.out.print("当前页"+i+"\t");
}
}
if(page<last){
if(last>10){
for(int i=page+1;i<=10;i++){
map.put("page"+i, i);
System.out.print(i+"\t");
}
}
if(last<=10){
for(int i=page+1;i<=last;i++){
map.put("page"+i, i);
System.out.print(i+"\t");
}
}
}
if(page!=last){
map.put("下一页", page+1);
System.out.print("下一页");
}
}
if(page>6){
map.put("上一页", page-1);
System.out.print("上一页"+"\t");
for(int i=page-5;i<=page;i++){
if(i!=page){
System.out.print(i+"\t");
map.put("page"+i, i);
}
if(i==page){
map.put("currypage", i);
System.out.print("当前页"+i+"\t");
}
}
//for(){
if(page<last){
if(page+4>=last){
for(int i=page+1;i<last;i++){
map.put("page"+i, i);
System.out.print(i+"\t");
}
}
if(page+4<=last){
for(int i=page+1;i<=page+4;i++){
map.put("page"+i, i);
System.out.print(i+"\t");
}
}
}
if(page!=last){
map.put("下一页", page+1);
System.out.print("下一页");
}
}
}
}
return map;
}
//这个方法较为完善 page当前页,last最后一页,maxSizeNum为最大页面个数,模拟百度分页
public static void input(int page,int last,int maxSizeNum){
if(page <= last){
if(maxSizeNum > 0){
if(last > 0 ){
if(page !=1){
System.out.print("上一页"+"\t");
}
if(last<=maxSizeNum){
for(int i=1;i<=last;i++){
if(page !=i){
System.out.print(i+"\t");
}
else{
System.out.print("当前页"+i+"\t");
}
}
}
if(last>maxSizeNum){
int avgNum=maxSizeNum/2+1;
if(page<=avgNum){
for(int i=1;i<=maxSizeNum;i++){
if(page !=i){
System.out.print(i+"\t");
}
else{
System.out.print("当前页"+i+"\t");
}
}
}
if(page>avgNum){
if(last-page >= avgNum){
for(int i=page-maxSizeNum/2;i<=(page-maxSizeNum/2)+maxSizeNum-1;i++){
if(page !=i){
System.out.print(i+"\t");
}
else{
System.out.print("当前页"+i+"\t");
}
}
}
//if(last-page <= avgNum) {
else{
for(int i=page-(maxSizeNum-1-(last-page));i<=last;i++){
if(page !=i){
System.out.print(i+"\t");
}
else{
System.out.print("当前页"+i+"\t");
}
}
}
}
}
}
if(page != last){
System.out.print("下一页"+"\t");
}
}
}
}
public static void main(String[] args) {
input(11,20,10);
}
}
更多推荐
java模拟百度分页
发布评论