Salve, copio la traccia dell'esercizio che sto provando a svolgere, non chiedo la soluzione , ma vorrei chiedere se secondo voi, così come è scritto può essere risolto? O c'è qualche errore, perché alcune cose non mi sono chiare
Grazie mille
Una società di trasporti vuole gestire elettronicamente i propri trasporti di containers a determinate destinazioni. Si sviluppi la classe Destinazione, avente come variabile d’istanza il nome della città di destinazione, e la classe Container, avente come variabili d’istanza private int peso, che rappresenta il peso del container, ed un riferimento private Destinazione dest alla destinazione di arrivo del container. Implementare i relativi metodi di accesso e riscrittura per tali variabili, più un costruttore. Si sviluppi inoltre la seguente classe:
public class Trasporti {
private Container[] container; // array di container
private int n_cont; // numero di container presenti
private ArrayList<Destinazione> destinazioni; // lista di destinazioni
public Trasporti(int max){...} // max = numero massimo di container
public Trasporti(Trasporti t){...} // copia la classe t
public boolean find_dest(String d){...}
public boolean find_cont(int p, String d){...}
public void inser_dest(String d){...}
public void inser_cont(int p, String d){...}
public void canc_cont(int p, String d){...}
public void canc_dest(String d){...}
public int max(){...}
}
Il primo costruttore inizializza un oggetto con un array container inizialmente vuoto ed avente dimensione specificata come parametro. Il secondo costruttore inizializza un oggetto copiando il contenuto dell’oggetto parametro. I metodi di inserimento inser cont e inser dest inseriscono oggetti solamente se questi non sono già presenti (suggerimento: usare i metodi di ricerca per testare questa condizione, senza duplicare il codice). Inoltre, inser cont crea la nuova destinazione associata al container inserito, se questa non `e già presente. Il metodo canc dest rimuove la destinazione specificata, e rimuove anche tutti i container associati a tale destinazione (suggerimento: copiare l’array container omettendo gli elementi da cancellare). Infine, il metodo max cerca la destinazione che, contando tutti i container ad essa recapitati, riceve complessivamente il massimo peso, e restituisce tale peso.