devo realizzare un programma che chiede all’utente di specificare quanti nomi vuole inserire, creo un vettore con tale numero di elementi, chiede all’utente di inserire i nomi nel vettore, e li visualizza tutti in maiuscolo, togliendo tutti gli spazi presenti all’inizio o alla fine dei nomi.

a me sembra corretto ma mi da un errore che non riesco a capire neanche col debugger..si pianta..non capisco il problema

codice:

public class Esercizio27 {

   
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);

        String risposta;
        int NumeroElementi;
        String frase = "ciao";

        System.out.print("Inserisci il numero di nomi che vuoi inserire nel vettore : ");
        risposta = reader.nextLine();
        NumeroElementi = Integer.parseInt(risposta);

        String nomi[] = new String[NumeroElementi];

        for (int i = 0; i < NumeroElementi; i++) {
            System.out.print("Inserisci il nome in posizione  " + i + ": ");
            risposta = reader.nextLine();
            frase = nomi[i];
            frase = frase.toUpperCase();
            frase = frase.trim();
            System.out.println(frase);

        }
    }
}