所以我正在开发一个spigot插件。这是关于朋友。如果这个人的命令是查看他的朋友的名单,我需要有页面,每个页面包含7个朋友。事情是,它不是一个朋友列表,总是你的朋友列表发生变化。如何为列表获取多个页面?
案例我有10个朋友。 我会在第一页获得7位朋友,在第二页获得剩余的3位朋友。我有70个朋友。 我会有10页。
编辑:对不起,混乱。我的问题是:我怎样才能使它在例子中。玩家/朋友列表显示页面1与7个朋友或更少,如果他没有7.他有更多的将有第二页:/朋友列表2等等。
所以我正在开发一个spigot插件。这是关于朋友。如果这个人的命令是查看他的朋友的名单,我需要有页面,每个页面包含7个朋友。事情是,它不是一个朋友列表,总是你的朋友列表发生变化。如何为列表获取多个页面?
案例我有10个朋友。 我会在第一页获得7位朋友,在第二页获得剩余的3位朋友。我有70个朋友。 我会有10页。
编辑:对不起,混乱。我的问题是:我怎样才能使它在例子中。玩家/朋友列表显示页面1与7个朋友或更少,如果他没有7.他有更多的将有第二页:/朋友列表2等等。
你会如何看待朋友?
作为GUI(Inventar)还是在聊天?
代码GUI(未完成):
ArrayList<String> players = new ArrayList<>();
int pages = ((players.size-(players.size()%7))/7)+(players.size()%7 == 0 ? 0 : 1);
ArrayList<String>[] pages = new ArrayList<>()[pages];
int lastpage = 0;
int i = 0;
for(String name : players)
{
pages[lastpage].add(name);
i++;
if(i == 6){
i = 0;
lastpage ++;
}
}
页是页面的数组。 你如何显示他们是你的desicion。
感谢我在聊天中向他们展示的回复。 GUI会很好,但我还没有为GUI做任何事情。 –
如果您喜欢答案,请检查它是否正确! 对于那个thx我会很乐意的。 如果你要通过Skype拨打我的电话:introtv – Niton
这是代码如何计算需要多少页。它工作95%的时间,如果有人知道更好的解决方案,请编辑这个,因为我也希望改进这个算法。
int friendsPerPage = 5;
int friendsIHave = 20;
int pages = (friendsIHave/friendsPerPage) + (friendsIHave % friendsPerPage == 0 ? 0 : 1);
我假设你知道如何获取/朋友列表(LISTHERE)。让我们将LISTHERE存储到页面变量中。然后我们可以简单地打印出它的内容:
int page = ... // you have to make this one
int max = page * friendsPerPage;
int min = max - friendsPerPage;
for(int i = min + 1; i <= max; i++) { // loop through all friends in that page
// access your friend array here and print it out using "i"
}
我希望它能让你走上正轨!
请创建一个[最小,完整和可验证示例](https://stackoverflow.com/help/mcve) –
这是一个太宽泛的问题。如果你把它发布在spigot论坛上而不是stackoverflow – Flood2d
你正在寻找的是一个名字。寻找'分页' –