Innanzitutto, se non lo sai, all'interno del framework standard di Java ci sono già delle classi che modellano punti e poligoni. Ma presumo che essendo un "esercizio" non sia lecito usarle, giusto?.
Se è così e devi quindi fare tutto da zero, allora dovresti fare almeno le seguenti classi:
1) Una classe Punto che modella un punto x/y sul piano cartesiano. x e y tipicamente li si mette come double, se non ci sono altri requisiti particolari. Idem, se non ci sono necessità che magari in questo momento ignoro, gli oggetti Punto sarebbe meglio che siano "immutabili". Una volta creato un oggetto Punto, esso non è più modificabile (non si mettono metodi es. setX o setY).
2) Una classe Poligono che modella un singolo poligono, composto chiaramente da una sequenza di N punti (oggetti di quella classe Punto).
Gli oggetti Poligono potrebbero essere mutabili o immutabili ... dipende dai requisiti, non li conosco io. All'interno di un oggetto Poligono sicuramente devi tenere come minimo un array o List di oggetti Punto. Su questo "non ci piove", come si dice.
Riguardo le lunghezze dei lati, anche qui dipende. Se Poligono è mutabile, puoi offrire un metodo es. calcolaLato(int i) che calcola al volo il lato tra il vertice i-esimo e quello i-esimo+1 .
Se Poligono fosse immutabile (e anche Punto, come detto), i lati li puoi pre-calcolare durante la costruzione del Poligono e tenerli nell'oggetto Poligono e poi esporli con un metodo es. getLato(int i)
Insomma, per la gestione dei lati dipende molto da quanto/quando devi usarli e per cosa.
3) Hai parlato di leggere dati da un file. Se il contenuto di un file rappresenta 1 poligono, allora sarebbe meglio fare una classe es. FilePoligono che tiene come "stato" dell'oggetto un java.io.File (che è solo un pathname) e poi un metodo es. public Poligono leggiPoligono() throws IOException che legge il file e costruisce e restituisce l'oggetto Poligono.
4) Sicuramente almeno un'altra classe specifica dell'esercizio es. EsercizioPoligoni con il classico main(String[] args) e il codice specifico che mette insieme le varie cose richieste.
Ti sono state date abbastanza informazioni, valutale e prova ad applicarle. Per dubbi o problemi, chiedi in modo chiaro e preciso.


Rispondi quotando