我想要一个分页算法,比如我前10页将全部页面展示出来,如果超过10页,我需要隐藏中间的部分页面;java语言的实现方式
时间: 2024-02-21 10:58:19 浏览: 17
好的,这个问题我可以回答。以下是Java语言的实现方式:
```java
public class Pagination {
private static final int PAGE_SIZE = 10;
public static void main(String[] args) {
int currentPage = 1; // 当前页码
int totalPage = 15; // 总页数
if (totalPage <= PAGE_SIZE) { // 总页数不超过10页,全部展示
for (int i = 1; i <= totalPage; i++) {
System.out.print(i + " ");
}
} else { // 总页数超过10页,需要隐藏中间部分页码
System.out.print("1 2 3 4 5 ... ");
if (currentPage <= 6) { // 当前页码在前6页,需要展示前10页
for (int i = 6; i <= PAGE_SIZE; i++) {
System.out.print(i + " ");
}
System.out.print("... " + totalPage);
} else if (currentPage >= totalPage - 5) { // 当前页码在后5页,需要展示后10页
System.out.print("... ");
for (int i = totalPage - PAGE_SIZE + 5; i <= totalPage; i++) {
System.out.print(i + " ");
}
} else { // 当前页码在中间部分,需要展示当前页码前后各5页
System.out.print("... ");
for (int i = currentPage - 4; i <= currentPage + 4; i++) {
System.out.print(i + " ");
}
System.out.print("... " + totalPage);
}
}
}
}
```
以上代码实现了一个简单的分页算法,当总页数不超过10页时,将全部页面展示出来;当总页数超过10页时,需要隐藏中间的部分页面。其中,当前页码前后各展示5页,其余部分用省略号表示。