mCurrentIndex =(mCurrentIndex + 1)%mQuestionBank.length;

Ger*_*ald 2 java arrays android modulo

我不懂语法:

mCurrentIndex = (mCurrentIndex + 1) % mQuestionBank.length;
Run Code Online (Sandbox Code Playgroud)

(mQuestionBank是一个数组).

是什么原因% mQuestionBank.length

tyn*_*ynn 6

它在逻辑上等同于

if (mCurrentIndex + 1 < mQuestionBank.length) {
    mCurrentIndex++;
} else {
    mCurrentIndex = 0;
}
Run Code Online (Sandbox Code Playgroud)

并用于通过数组旋转索引而不超出其边界.