Des méthodes efficaces pour l'Incrémentation et la Décrémentation dans la même Boucle

Supposons qu'il existe certaines situations où vous voulez incrémenter et décrémenter les valeurs dans la même boucle. Dans cette série de situations, il y a certains cas où vous pouvez "tricher" en prenant avantage de la nature de la situation, par exemple, l'inversion d'une chaîne de caractères.

En raison de la nature de la construction de chaînes de caractères, nous n'avons pas vraiment de manipuler l'itération ou ajouter un compteur:

public static void stringReversal(){
    String str = "Banana";
    String forwardStr = new String();
    String backwardStr = new String();

    for(int i = str.length()-1; i >= 0; i--){
        forwardStr = str.charAt(i)+forwardStr;
        backwardStr = backwardStr+str.charAt(i);
    }

    System.out.println("Forward String:  "+forwardStr);
    System.out.println("Backward String: "+backwardStr);   
}

Cependant, supposons un cas différent est le cas lorsque nous voulons juste l'impression d'un décrémenté de la valeur, de la valeur initiale de 0 et une valeur incrémentée de 0 à la valeur initiale.

public static void incrementAndDecrement(){

   int counter = 0;

   for(int i = 10; i >= 0; i--){
       System.out.println(i);
       System.out.println(counter);
       counter++;
   } 
}

Cela fonctionne assez bien, mais avoir à créer un deuxième compteur à incrémentation semble désordonné. Existe-il des mathématiques trucs ou astuces impliquant la boucle for qui pourrait être utilisée pour faire counter redondant?

Quel est le problème avec un simple calcul arithmétique? 10 - i?
La privation de sommeil, je crois.
Il arrive aux meilleurs d'entre nous.

OriginalL'auteur Anthony Neace | 2012-10-17