Java 单击“下一步”按钮时

Java 单击“下一步”按钮时,java,android,arrays,Java,Android,Arrays,请你给我解释一下: mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length; QuestionBank是一个包含一些数据的数组 我理解第一部分,这意味着增加currentIndex,但下一步是什么%Questionbank.length 提前谢谢你没问题。基本上它除以长度,然后取结果的剩余部分。此代码基本上会递增mCurrentIndex,如果它对于数组变得太大,则将其环绕到0,确保它不会溢出。 如果数组的长度为10,并且您尝试使

请你给我解释一下:

 mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
QuestionBank是一个包含一些数据的数组

我理解第一部分,这意味着增加currentIndex,但下一步是什么%Questionbank.length


提前谢谢你

没问题。基本上它除以长度,然后取结果的剩余部分。此代码基本上会递增
mCurrentIndex
,如果它对于
数组变得太大,则将其环绕到
0
,确保它不会溢出。
如果数组的长度为10,并且您尝试使用索引10,那么它会将其改为0

mCurrentIndex
可能是数组的一些
indexnumber
添加
1
使元素编号类似于If
mCurrentIndex=1
然后
(mCurrentIndex+1)
设为2,则
%
表示模块操作员或剩余操作员。
它使用数组长度模块来限制增量后的值不能超过长度的等式。

这是一个余数/模除法运算符-为您提供余数ok currentIndex=0和aray.length等于5,然后在上述代码之后,mCurrentIndex将等于??ok currentIndex=0和aray.length等于5,然后在上面的代码mCurrentIndex将等于2??好的,我知道了,(1+1)%5将返回2,(2+1)%5=3谢谢你,那么这个公式呢:x%y=>x-(r*y)=zx/y=r,s例如3%5和3/5=0,6,然后z=3-(0*5)=3LOL