Osservare il funzionamento del programma FormeGeometriche.java.
Sono utilizzati alcuni metodi static
definiti in InputForme.java, che
permettono di creare oggeti geometrici inserendone le coordinate da tastiera.
Aggiungere a FormeGeometriche.java
del codice che verifica quali delle figure
geometriche inserite contengono il punto p
. La classe Rectangle2D.Double
possiede sia un metodo public boolean contains(double x, double y)
, sia un metodo
public boolean contains(Point2D p)
, ereditati dalle sue superclassi
(si vedano nella documentazione Java i metodi che vengono
inherited from class ...). Lo stesso vale per la classe
Ellipse2D.Double
, che eredita metodi analoghi dalle proprie superclassi.
Invece di utilizzare variabili distinte per memorizzare i riferimenti ai
Rectangle2D.Double
, definire ed allocare un array di due elementi, e sostituire
tutte le ripetizioni di codice analogo con dei cicli.
Suggerimento
Una volta risolta l'estensione precedente, aumentare a 4 il numero di rettangoli da inserire, e
trovare tutte le coppie di rettangoli che hanno tra loro intersezione non vuota.
Utilizzare il metodo intersects
(attenzione alla 's' finale) ereditato dalla classe
RectangularShape
. Ogni volta che si trova una coppia di rettangoli che presenta
intersezione non vuota bisogna visualizzare un messaggio del tipo (assumendo che
i rettangoli di posto 1 e 3 si intersechino) "Il rettangolo 1 interseca il
rettangolo 3", seguito se si vuole dalle coordinate dei due rettangoli.
Per risolvere questo punto è opportuno scrivere un metodo static
,
e poi richiamarlo, che riceve come
parametro l'array di rettangoli, e provvede a stampare i messaggi che segnalano tutte le
intersezioni.
Il metodo deve confrontare: