Quote Originariamente inviata da megaorso Visualizza il messaggio
Classe Punto
Ok, corretta

Quote Originariamente inviata da megaorso Visualizza il messaggio
Classe Triangolo
Qui c'è un problema concettuale. Detto in generale NON ha molto senso costruire un triangolo passando le lunghezze dei lati, perché NON è detto che date 3 lunghezze qualsiasi esse permettano di realizzare davvero la figura chiusa di un triangolo. Se ti dò 3 lunghezze es. 10 70 30 con queste NON fai un triangolo.
Per un triangolo qualsiasi il modo sensato è passare 3 punti xy sul piano cartesiano.

Inoltre dovresti cercare di incapsulare e ri-utilizzare meglio i concetti. In Triangolo fai 3 volte

(int) Math.sqrt(Math.pow(( ...... ecc

Qui stai cercando di calcolare la distanza tra 2 punti. Che è un concetto abbastanza utile e valido in generale. Allora perché non mettere in Punto questa funzionalità? Il testo iniziale NON proibisce una cosa del genere. Anzi, dice "dopo avere realizzato i metodi che ritieni opportuni"

Ovvero, in Punto ha assolutamente senso mettere un metodo di istanza che fornisce la distanza tra il punto this (su cui invochi il metodo) e un altro Punto passato in argomento.

Altro riutilizzo: in creaCasuale di Triangolo ... perché non sfruttare il creaCasuale di Punto?


Quote Originariamente inviata da megaorso Visualizza il messaggio
Classe Rettangolo
Rettangolo è sbagliata concettualmente in modo opposto a Triangolo. Il primo costruttore riceve 2 lati ed HA senso. Il secondo costruttore riceve 4 punti e questo NON ha senso, perché puoi creare qualunque quadrilatero che non è un rettangolo!

Quote Originariamente inviata da megaorso Visualizza il messaggio
Classe cerchio
Cerchio ha senso ma semplicemente perché l'unica cosa che gestisci è il raggio, che ovviamente HA senso.
Tieni anche presente che per il pi greco esiste gìà la costante Math.PI (Math è la classe java.lang.Math).

Quote Originariamente inviata da megaorso Visualizza il messaggio
Come faccio a visualizzare la x e la y del Punto creato casualmente??
Ho provato cosi, ma non sono sicuro che il primo e il secondo crea casuale si riferiscano allo stesso oggetto.
codice:
System.out.println( Punto.creaCasuale().getX() + " " + Punto.creaCasuale().getY());
Appunto ... sono due oggetti Punto differenti, quindi creaCasuale usato così ovviamente NON ha senso.

Se vuoi puoi anche ridefinire il toString() nelle tue classi per fornire una rappresentazione testuale degli oggetti.