处理数字的java逻辑问题

时间:2012-01-09 15:24:21

标签: java

我有一个星期一的真实案例。我正在尝试根据我正在寻找的条目遍历结果表。例如,页面一次显示15个结果,并且可以有n个结果。我无法通过逻辑来遍历这些页面。我想做这个: 如果输入不是1-15则转到第2页,如果不是16-30则转到第3页等。直到我到达该条目所在的页面。 另一个例子:我正在寻找的条目是300个条目中的64个,所以我需要到第5页查看条目。

我用15的倍数,模数等做了不同的事情,并且不能让它起作用。

任何帮助都会受到赞赏,再喝一杯咖啡......

2 个答案:

答案 0 :(得分:7)

听起来像你想要的那样:

int pageNumber = ((resultNumber - 1) / pageSize) + 1;

(假设一个基于1的页码和结果编号。)

这会将结果1-15映射到第1页,将16-30映射到第2页,将第31-45页映射到第3页等。

答案 1 :(得分:0)

这样的事情:

    Start offset = (Number of page - 1) * Results Per Page
    End offset = (Number of page) * Results Per Page
    Offset on a page = (Number of item) mod Results per page (Substract 1 to have zero-based index)
    Page Number = (Number of item - 1) / Results Per Page + 1 ( Substract 1 to have zero-based index)