Nel tuo Artista hai messo un int per la data. E in DatiArtista hai messo un nextLine() e con la stringa fai poi un parseInt() per ottenere il int.
Ma è proprio tutto questo che non è affatto "buono".
Ma puoi benissimo farlo con 3 classi:
- classe Artista (per "modellare" un artista)
- classe es. ElencoArtisti (che contiene l'array e i metodi "logici" di gestione, insomma "modella" un insieme di artisti)
- classe ApplicazioneArchivio (o altro nome che vuoi es. GestioneArtisti) che ha il main(), usa Scanner, usa System.out.println ecc..., visualizza un menù, chiede le scelte all'utente, ecc.... E utilizza un oggetto ElencoArtisti. Invece di fare tutto nel main in modo "statico", crea un oggetto ApplicazioneArchivio e fai partire un metodo di istanza. Così puoi tenere cose in comune tra più metodi.
Ci devi appunto "ragionare" tu .... fa parte dell'esercizio.
Parti da qualcosa di semplice: abbozza la classe ElencoArtisti, con le variabili di "istanza" che servono (devi ragionare: serve l'array e ......) e poi inizia a fare es. un
public boolean inserisciArtista(Artista artista)
(torna: true=inserito, false=non c'è più spazio)