In un esercizio sugli array mi si chiede:
E ho un input in cui non sono sempre presenti le stesse informazioni per ogni giocatore.codice:Si scriva un programma Java che prenda in input un file contenente una sequenza di righe, ognuna contenente le informazioni relative ad un punteggio di giuoco, e costruisca la classifica dei primi cento punteggi ottenuti. Ogni riga del file contiene una sequenza di opzioni seguiti dai relativi valori. Le varie opzioni devo essere interpretate nel modo seguente: -nick: seguito da una stringa con il nickname del giocatore (č sempre presente). -p: seguito da un intero che indica il punteggio complessivo (č sempre presente). -a: seguito da un intero, indica l'etą del giocatore. -i: seguito da una data, indica la data d'iscrizione del giocatore. -n: seguito da un intero, indica il numero di partite giocate dal giocatore. -u: seguito da un intero, indica l'ultimo punteggio ottenuto dal giocatore. -dp: seguito da una data, indica la data in cui č stato totalizzato il punteggio. -bonus: non seguito da alcun valore, indica che il giocatore ha un bonus. Tutte le righe finiscono con un punto e virgola preceduto da uno spazio. In caso di parimerito deve apparire per primo il giocatore che appare per prima nella lista di input. Specifiche Utilizzare un oggetto Builder per la costruzione degli oggetti contenuti nella classifica di giuoco. Gli oggetti contenuti nella classifica devono essere definiti come oggetti immutabili Utilizzare i metodi toString() per la descrizione degli oggetti.
Eccone una parte:
Il dubbio era su come trasformare le stringhe del testo in oggetti, e come fare dato che ogni stringa presenta valori differenti, avrei costruttori diversi, ma l'ordine dei parametri č disordinato, quindi non potrei utilizzare nemmeno i costruttori telescopici.codice:-nick AFONTANA -p 7570 ; -nick LRICCI -p 8674 -u 5643 ; -nick AGIULIANI -p 6998 -nome Antonio GIULIANI -bonus ; -nick FDEANGELIS -p 2855 ; -nick DDEANGELIS -p 3659 -n 9098 ; -nick FGATTI -p 8464 -u 6141 ; -nick VPELLEGRINI -p 6404 -nome Valerio PELLEGRINI -u 1885 -a 23 -n 7219 -i 10/11/2009 -dp 18/5/2010 ; -nick AFERRARO -p 1695 -u 9558 -bonus ; -nick CRIVA -p 6624 -nome Camilla RIVA -u 6060 -bonus -i 20/5/2009 -dp 29/7/2010 ; -nick SMORETTI -p 1645 -dp 12/4/2010 ; -nick MBRUNO -p 8481 ; -nick NPELLEGRINI -p 7071 -nome Nicole PELLEGRINI ; -nick EFARINA -p 8140 -dp 11/9/2010 ; -nick GVALENTINI -p 3089 -i 15/11/2009 ; -nick LPALUMBO -p 6544 -u 6008 -n 7117 ; -nick FGALLO -p 7972 -u 5888 ; -nick EORLANDO -p 8058 -a 31 ; -nick GPIRAS -p 5813 -nome Gianluca PIRAS ; -nick ACAPUTO -p 4484 -nome Alex CAPUTO -dp 3/1/2010 ; -nick MGALLI -p 1269 -i 14/6/2009 ; -nick EBELLINI -p 5784 ; -nick AROSSETTI -p 1560 -n 9575 ; -nick PCONTE -p 8493 -dp 6/4/2010 ; -nick AMONTANARI -p 4342 ;
Forse con la classe Scanner bisogna leggera ogni singola stringa e vedere se č presente, e nel costruttore si assegna quel valore per il nick per esempio, altrimenti gestisco un' eccezione.
L'idea che ho pensato č questa ma non saprei realizzarla concretamente, potreste guidarmi...?

Rispondi quotando