Циклический остаток от деления в JAVA?

227
20 мая 2018, 01:50

Мне нужно получить данные в диапазоне 0 до 5. Если аргумент выходит за рамки то мне нужно циклически продолжить считать с другой стороны диапазона.

Т.е. При -1 ответ 5 (т.к. -1 % 6 = 5). В питоне подобная функциональность доступна.

Java: -1 % 6 = -1

Есть подобный функционал в Java или надо программировать свою функцию? Функция будет оспользоваться ОЧЕНЬ часто, было бы хорошо, чтобы она была эффективной. Я написал функцию, но подозреваю что можно сделать намного проще (идеи?) :

private int cycleMod (int number, int mod){
    while (number < 0){
        number+= mod;
    }
    return number % mod;
}

Заранее спасибо.

Answer 1

Всё просто - используйте Math.floorMod:

System.out.println(Math.floorMod(-1, 6));

Результат:

5
READ ALSO
Смещение колонок в OpenCart, Bootstrap 3

Смещение колонок в OpenCart, Bootstrap 3

работаю в Opencart 3, Bootstrap 3Сделал footer, но при разрешение sm(меньше 992) колонки смещаются и получается свободное пространство, что делаю не так?

265
Как подгружаются CSS к таблице

Как подгружаются CSS к таблице

Есть несколько CSS файлов, которые относятся к разным html страницамCSS подгружается, только к нужным классам, которые есть в документе или пока...

205
Как сделать так, чтобы в форме отрабатывали две кнопки с разным функционалом

Как сделать так, чтобы в форме отрабатывали две кнопки с разным функционалом

Есть вот такая вот форма для поиска данных, но проблема в том что вторая кнопка "Удалить фильтр" отрабатывает так-же как и первая(то есть делает...

254