Donc, j'ai un tableau avec une longueur de 4. Lorsque j'y incrémentez-le 1 et que le nombre augmente de la longueur de la matrice, j'aimerais que le rouleau.
Par exemple: P> Je résolvez actuellement cela avec si, comme celui-ci p> mais je me sens comme ça n'est pas une solution appropriée, ou "bon" code. P> edit strong>: J'ai essayé votre suggestion, mais apparemment Java se comporte étrangement avec des nombres négatifs.
Lorsque j'essaie p> java prend l'index "0", la diminue de 1 ("-1"), puis p> Je m'attendais à ce que cela soit 3, voir Wolfram Alpha: -1 Mod 4
Mais apparemment, l'opérateur Java% n'est pas identique à l'opérateur modulo? P> Je peux juste faire: p>
4 Réponses :
Vous pouvez utiliser l'opérateur modulo.
current_index = (current_index + n) % 4;
Merci beaucoup pour votre réponse. +1 :)
Parce que Google classe cette page la plus élevée lorsque la recherche de la même chose, mais dans JavaScript, voici la version JS: actuel_index = (actuel_index + n + 4)% 4; code>
Le commentaire ci-dessus est #fakenews
Divisez l'index incrémenté Modulo de la longueur de la matrice:
current_index = (current_index + n) % textviewlist.length
Vous pouvez utiliser MOD comme suit:
current_index = (current_index + i) % 4.
Merci beaucoup, je savais que je manquais quelque chose.
Il suffit de le mettre à lui-même modulo 4 - ou plutôt, la longueur de la liste - après chaque incrément.
int increment(int old_index, int n) { return (old_index + n + textviewlist.length) % textviewlist.length; }
Merci pour votre réponse, j'aime vraiment l'idée d'un incrément () code> fonction. Cependant, que se passe-t-il avec des valeurs négatives? Je viens de modifier ma question pour refléter cela.