La classe Artista grosso modo va bene come struttura e concetto. A parte la questione della data, che potresti usare il "vecchio" java.util.Date o il nuovo (da Java 8) java.time.LocalDate ... dipende da cosa conosci o da cosa vuoi affrontare.
Quello che non va bene è la classe DatiArtista perché rappresenta un mix di gestione dell'array, input/output verso l'utente, parsing ecc...
Dovresti fare una classe che si occupa di gestire SOLO l'array dal punto di vista "logico". In pratica una classe che incapsula l'array (più altro eventuale) e offre i metodi "logici" per gestire l'array: inserire un artista, sapere quanti artisti ci sono, estrarre l'artista i-esimo, cercare gli artisti es. per nome, ecc...
In questa classe NON ci dovrebbe essere altro, nel senso che non dovresti fare input/output verso l'utente, niente System.out.println, niente Scanner o che altro. Solo la gestione dell'insieme di artisti.
Prova a pensarci, per dubbi chiedi (potrei anche abbozzarti del codice ma è meglio se prima ci pensi tu un attimo ..).