如何使用模运算符递增和递减整数

Luc*_*tos 5 java increment modulo decrement

我试图基于点击增加一个整数.点击发生的方式并不重要,所以我会坚持逻辑.我在Java中这样做,但逻辑应该是相同的.

int index = 0;

// then within the click event
//arrySize holds the size() of an ArrayList which is 10

index = (index + 1) % arrySize;
Run Code Online (Sandbox Code Playgroud)

有了这个逻辑,每次用户点击时,index都会增加1.然后它的模数arrySizeindexindex匹配时返回0arrySize

(10%10会使索引回到0)这很好,因为它有点像一个从0到10然后回到0并且从不超过10的循环.

我试图做同样的逻辑,但后退 在哪里基于点击数字将减少并得到0然后回到arrySize而不是-1

我怎样才能实现这个逻辑?

Lou*_*man 6

(index + arraySize - 1) % arraySize
Run Code Online (Sandbox Code Playgroud)

你想要的是什么