Soluzioni condivise sul sito classroom del corso…

Esercizio A

Modellare l’oggetto Cerchio, i cui oggetti rappresentano cerchi nel piano. La classe dispone del
seguente costruttore e dei seguenti metodi di istanza:
1) public Cerchio(double r): costruttore per creare un oggetto Cerchio che
rappresenta un cerchio di raggio r (si ricordi che il tipo double indica numeri reali).
2) public double diametro(): metodo che restituisce il diametro del cerchio
rappresentato dall’oggetto ricevente.
3) public double perimetro(): metodo che restituisce il perimetro del cerchio
rappresentato dall’oggetto ricevente.
4) public double area(): metodo che restituisce l’area del cerchio rappresentato
dall’oggetto ricevente.
5) public Cerchio sommaRaggio(Cerchio c): metodo che restituisce un nuovo
oggetto Cerchio il cui raggio è la somma dei raggi dei cerchi rappresentati dall’oggetto
ricevente e dall’oggetto c.
Scrivere una classe di nome UsoCerchio, avente soltanto il metodo speciale main. Tale metodo
deve svolgere queste azioni:
1. Fare inserire all’utente tramite tastiera i raggi r1 e r2 di due cerchi nel piano.
2. Creare due oggetti Cerchio, c1 e c2, di raggio rispettivamente r1 e r2.
3. Stampare sullo standard output il diametro, il perimetro e l’area dei cerchi rappresentati
da c1 e c2.
4. Creare un terzo oggetto Cerchio c3, che rappresenti un cerchio di raggio pari alla somma
dei raggi dei cerchi rappresentati da c1 e c2.
5. Stampare sullo standard output il diametro, il perimetro e l’area del cerchio rappresentato
da c3.
Al termine della scrittura della classe, compilarla ed eseguirla più volte, provando a variare i
dati di input richiesti dal programma.

Esercizio B

Modellare un oggetto chiamato ManipolatoreStringa
rappresenta una stringa e dispone di alcuni metodi per manipolarla. Il costruttore e i metodi di
istanza della classe sono i seguenti:


1. public ManipolatoreStringa(String s): costruttore per creare un oggetto
ManipolatoreStringa che rappresenta la stringa s.
2. public String inverti(): metodo che restituisce una nuova stringa ottenuta
invertendo la stringa rappresentata dall’oggetto ricevente (cioè leggendo i suoi caratteri da
destra verso sinistra).
3. public String rimuoviSpazi(): metodo che restituisce una nuova stringa ottenuta
rimuovendo gli spazi bianchi dalla stringa rappresentata dall’oggetto ricevente.
4. public String concatenaCon(String s): metodo che restituisce una nuova stringa
ottenuta concatenando (cioè giustapponendo) la stringa rappresentata dall’oggetto
ricevente con la stringa s.

Scrivere una classe di nome UsoManipolatoreStringa, avente soltanto il metodo speciale
main. Tale metodo deve svolgere queste azioni:
1. Fa inserire all’utente una qualunque stringa str.
2. Crea un oggetto ms della classe ManipolatoreStringa che rappresenta la stringa str.
3. Usando i metodi di ms, visualizza all’utente in una finestra grafica la stringa str letta da
destra verso sinistra e poi la stringa str ripulita dagli spazi bianchi e ripetuta due volte. La
ripetizione della stringa deve essere effettuata tramite il metodo concatenaCon(..).
Ad esempio, se l’utente inserisse la stringa ciao mondo, il programma dovrebbe visualizzare i
seguenti messaggi:
stringa invertita: odnom oaic
stringa senza spazi e ripetuta due volte: ciaomondociaomondo