Quote Originariamente inviata da wormd Visualizza il messaggio
No, tu sei sempre esaustivo


Quote Originariamente inviata da wormd Visualizza il messaggio
Sono un po' confuso su come interagire con la soluzione.

è proprio in valore[i] = br.readLine(); che devo mettere mano giusto? Ho fatto come hai detto e ho stanziato l'array prima ancora di aprire il metodo, dando una capacità di memorizzazione massima di 20 elementi.
Continuo a non capire però come faccio a salvare tutti i valori precedentemente letti e nuovi.
Innanzitutto bisognerebbe vedere il "design" della tua classe/i. Spererei che, come minimo, tutto quello che stai facendo per interagire con l'utente lo fai nel contesto di una istanza della tua classe, in modo da poter tenere variabili di istanza come appunto per l'array.

È sufficiente tenere "in vita", per la durata della applicazione, 2 cose:
- un String[], inizialmente di lunghezza 0 (non nullo).
- un int che indica il numero "logico" di elementi correnti e che fa anche da indice per il successivo inserimento, inizialmente a 0.

Poi basta incapsulare la logica di espansione dell'array in un metodo es.

private void espandiArray(int numeroAggiunti)

Qui dentro la logica è semplice:
- istanzi un nuovo array di lunghezza uguale alla dimensione corrente + numeroAggiunti.
- ricopi i vecchi elementi. Basta un ciclo for o anche arraycopy di System che fa tutto.
- assegni il nuovo array alla variabile di istanza.

Il resto (ciclo di input) prosegue senza che debba sapere altro (a parte quel numero "logico" di elementi).