Как я могу получить несколько страниц для списка?

Итак, я разрабатываю плагин Spigot. Это о друзьях. Если человек выполняет команду, чтобы увидеть список своих друзей, мне нужно иметь страницы, и каждая страница содержит 7 друзей. Дело в том, что это не список друзей, в которых всегда меняется список друзей.

Дело у меня 10 друзей. Я бы получил 7 друзей на первой странице и оставшихся 3 на второй странице. Дело у меня 70 друзей. У меня было бы 10 страниц.

РЕДАКТИРОВАТЬ: Извините за путаницу. Мой вопрос: как я могу сделать это, как в примерах. Игрок делает / список друзей, он показывает страницу 1 с 7 или менее друзьями, если у него нет 7. Если у него есть больше, будет вторая страница: / список друзей 2. и так далее.

2 ответа

Это код, как рассчитать, сколько страниц необходимо. Это работает в 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"
}

Я надеюсь, что это поможет вам!

Как бы вы увидели друзей?
Как GUI (Inventar) или в чате?
Код для графического интерфейса (не полный):

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 ++;
    }
}

страницы является массивом страниц. Как вы показываете их, ваше решение.

Другие вопросы по тегам