Originariamente inviato da Hermiod
Che ne pensi? So che si può fare di meglio ma dai diversi test che ho fatto funziona a dovere.
No, non funziona. Hai fatto il println dentro il for e ti stampa ogni volta solo una situazione "parziale" dell'array e non è quello che ti serve.

Se metti esattamente quel codice in un ulteriore ciclo (come dovrebbe poi effettivamente essere, avendo poi un ciclo che ruota attorno ad un next() o comunque, in generale, a ogni progressione dell'array ...

codice:
import java.util.*;

public class Test {
    public static void main(String[] args) {
        int[] com = { 0, 0, 0 };
    
        while (true) {
            System.out.println(Arrays.toString(com));   // SEMPRE 0,0,0 !!!!!!!
            
            //----------------------------------
            for (int i = com.length - 1; i >= 0; ) {
                //System.out.println(Arrays.toString(com));    // Non ha senso

                if (com[i] < 2) {
                    com[i]++;
                } else {
                    while (com[i] == 2) {
                        com[i] = 0;
                        i--;
                        if (i < 0) {
                            break;
                        }
                        if (com[i] < 2) {
                            com[i]++;
                            i = com.length - 1;
                        }
                    }
                }
            }
            //----------------------------------
        }
    }
}
Non funziona.