E chi ci ha lavorato prima di te non usava l'indice 0? O scriveva in un altro linguaggio.
Cmq ti consiglio di aggiornare tutti gli indici del progetto al quale lavori. E' una soluzione preferibile all'usare un array con indice 0 vuoto.
Se proprio vuoi continuare per la tua strada devi crearti (in due parole) una tua classe ArraySenza0 che contiene un array di lunghezza n, cioè esattamente quello che ti serve.
Implementando i metodi per l'inserimento e il prelevamento degli oggetti in questo array gestirai gli indici come vuoi tu.
Quindi se l'utilizzatore di questa classe vuole aggiungere alla posizione 1, nel tuo metodo farai aggiungere alla posizione 0.
In ogni inserimento o prelevamento dovrai usare l'indice p-1 dove p è il parametro del metodo.
Es. prelevamento supponendo che l'array contenga dei char
Ovviamente è meglio che tu inserisca i controlli sui valori di p per non avere eccezioni.codice:public char(int p){ return array[p-1]; }