什么是计算搜索结果(Java)页数的方法?

时间:2014-02-09 15:29:23

标签: java

我有一个来自DB的搜索结果列表,我也有pageSize&我想算noOfPages

int pageSize=3;
int totalResults=...;
int noOfPages=methodX(totalResults/pageSize);

所以,如果totalResults=9然后noOfPages=3,如果totalResults=100noOfPages=34甚至100/3 = 33.33 所以基本上无论分数多少,它都会向上舍入,只要有一小部分它就会向上舍入。

2 个答案:

答案 0 :(得分:4)

JDK 1.0的“传统”解决方案:)

int totalResults = 10;
int pageSize = 3;
int result;

if (totalResults % pageSize == 0) {
    result = totalResults / pageSize;
} else {
    result = totalResults / pageSize + 1;
}

答案 1 :(得分:0)

另一种方式

result = (totalResults + pageSize - 1) / pageSize;
// 
// eg: totalResults=10,pageSize=3 => result = 4 = (10 + 3 - 1) / 3
// eg: totalResults=12,pageSize=3 => result = 4 = (12 + 3 - 1) / 3

result = totalResults / pageSize + totalResults % pageSize > 0 ? 1 : 0

result = (int) Math.ceil((float)totalResults/pageSize);