2012-01-09 58 views
1

我有一个星期一的真实案例。我试图根据我正在查找的条目遍历结果表。例如,该页面一次显示15个结果,并且可以有n个结果。我无法让逻辑遍历这些页面。我想这样做: 如果条目不是1-15转到第2页,如果不是16-30转到第3页等,直到我到达该条目的页面。 另一个例子:我要找的条目是300条中的64条,所以我需要到第5页才能查看条目。java逻辑问题处理号码

我做了15个倍数,模数等不同的东西,并且无法让它工作。

任何帮助,这将不胜感激,让另一杯咖啡......

+0

为什么不发布做分页和查找的部分代码 – milan 2012-01-09 15:27:22

+0

只有static是我正在查找的条目#和每页15条结果。可能是n个页面。 – whitewolfpgh 2012-01-09 15:27:24

+0

在哪?更多信息? – 2012-01-09 15:27:48

回答

7

听起来好像要:(假设为基础1页码和结果数)

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

这将导致映射到1-15页号1,16-30至2页,31-45至第3页等

+0

我认为这会做到,谢谢,不知道为我的生活大声笑!让我测试一下。 – whitewolfpgh 2012-01-09 15:32:00

+0

怎么样一些更多的'leet:'int pageNumber = --resultNumber/pageSize + 1;'。并且,“是”...我认为它*是可读的 – Bohemian 2012-01-09 15:37:40

+2

@波希米亚语将改变您的resultNumber作为副作用。肯定不是最好的。 – 2012-01-09 15:40:45

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)