Мне нужно получить данные в диапазоне 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;
}
Заранее спасибо.
Всё просто - используйте Math.floorMod:
System.out.println(Math.floorMod(-1, 6));
Результат:
5
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости