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.