2016-11-24 2 views

Antwort

2

% ist der Mod-Operator. Dieser Operator gibt Ihnen den Rest nach dem Teilen des Wertes vor dem % durch den Wert nach dem %.

Zum Beispiel

5 % 2 = 1 

Dies liegt daran, wenn Sie 5 durch 2 teilen, können Sie einen Rest von 1.

6

bekommen Es ist logisch äquivalent zu

if (mCurrentIndex + 1 < mQuestionBank.length) { 
    mCurrentIndex++; 
} else { 
    mCurrentIndex = 0; 
} 

und verwendet Drehen Sie den Index durch das Array, ohne seine Grenzen zu überschreiten.

+1

Es wäre kürzer gewesen zu sagen 'if (++ mCurrentIndex == mQuestionBank.length) {mCurrentIndex = 0; } '. Trotzdem habe ich meine Stimme bekommen. – Andreas

2

Um auf die Elemente des Arrays in einer kreisförmigen Weise zuzugreifen.

mCurrentIndex wird immer zwischen dem Bereich [0, array.length)

1

Ja, es ist einfache mod Logik gebunden sein.

Im Wesentlichen, wenn Sie ein Quiz mit einer begrenzten Anzahl von Fragen haben, durchlaufen Sie das Quiz immer und immer wieder mit dem Mod.

Nehmen wir zum Beispiel an, Sie haben ein Array mit 4 Fragen.

Es wäre: [0, 1, 2, 3].

Da haben Sie mCurrentIndex = (mCurrentIndex + 1)% mQuestionBank.length;

0%4 = 0 hence index 0, so it returns the question on index 0. 
1%4 = 1 hence index 1, so it returns the question on index 1. 
2%4 = 2 
3%4 = 3 
4%4 = 0 

So wird es nie einen Index über 3.

Ex bieten.

503%4 = 3 
504%4 = 0 

Die App wird weiterhin die gleichen 4 Fragen in einer Schleife stellen. Wenn Sie mehr Fragen haben, wird es mehr verlangen.

Verwandte Themen