Scrivete un programma grafico che chieda all'utente di specificare i raggi di due cerchi, il primo centrato nel punto di coordinate (100,200) e il secondo nel punto (200,100). Disegnate i cerchi, colorandoli di verde se si intersecano, di rosso in caso contrario. Il programma non deve disegnare alcunché se l'utente fornisce un raggio negativo. Per risolvere l'esercizio, definite una classe Circle e un metodo boolean intersects(Circle other).

Suggerimento: per verificare se i due cerchi si intersecano, si calcoli la distanza tra i centri dei cerchi e la si confronti con la somma dei due raggi. La distanza tra i centri può essere calcolata direttamente, ad esempio con un proprio metodo privato, oppure con uno dei metodi distance della classe Point2D o Point2D.Double. Tali classi contengono peraltro anche un metodo distance statico che accetta come parametri quattro variabili double rappresentanti i due punti di cui si desidera calcolare la distanza.

Ultime modifiche: mercoledì, 23 dicembre 2015, 13:08