Математическая операция для этого: по модулю , в java оператор %
, остаток от деления.
| x | x % 3 |
|-----|-------|
| 6 | 0 |
| 5 | 2 |
| 4 | 1 |
| 3 | 0 |
| 2 | 2 |
| 1 | 1 |
| 0 | 0 |
| -1 | -1 |
| -2 | -2 |
| -3 | 0 |
| -4 | -1 |
Использование целочисленного деления /
(5/3 ==1):
y% x == y - x * (y / x)
Обратите внимание на знак, если одна из сторон отрицательна.
В вашем случае уменьшение становится:
z2 = (z2 - 1 + 7) % 7;
или коротким
z2 = (z2 + 6) % 7;
Были приняты меры, чтобы левая часть %
оставалась положительной.Тогда результат будет в 0 .. 6
.
Для тех, кто интересуется латиницей, модуль на самом деле называется операцией (существительное), но в выражении получает наречие окончание o
(ablativus): "34 по модулю 7 - это 6" .Но по модулю отлично подойдет в качестве существительного.