Ciao ho un problemino sugli oparatori di incremento e di decremento.Questo è un esercizio che mi sono inventato di sana pianta..infatti non ha alcun senso logico...comunque il problema è:dato un array,composto dalle stringhe "E","S","O",stampa con il metodo adestra() le tre stringhe e con il metodo asinistra() la stringa "S" usando l'operatore di decremento.
La mia soluzione è:
Il metodo a destra() viene tutto correttamente..il problema sta nel metodo asinistra() che stampa O,al posto di S.Invocando per 3 volte adestra() pos dovrebbe essere 2..quindi quando faccio --pos la posizione dell'array dovrebbe spostarsi ad 1.Perchè mi stampa O?codice:class Provap{ String [] d={"E","S","O"}; String f="N"; int pos=0; Provap(){ } public String adestra(){ f=d[pos]; pos++; return f; } public String asinistra(){ --pos; f=d[pos]; return f; } public static void main(String[] args){ Provap p=new Provap(); System.out.println(p.adestra()); System.out.println(p.adestra()); System.out.println(p.adestra()); System.out.println(p.asinistra()); } }![]()