Problemi extra di fine corso
- [Interfaccia Comparable (I)] Vogliamo rendere la classe Persona comparabile, confrontando due persone sulla base della loro età (cioè, definendo una persona ≤ di un'altra se e solo se la sua età lo è). Fate in modo che la classe implementi l'interfaccia Comparable e sperimentatela, realizzando un metodo main in cui vengono letti i dati di un certo numero di persone, vengono inseriti in un array e l'array viene ordinato usando il metodo sort di java.util.Arrays..
- [Interfaccia Comparable (II)] Riprendete la classe Punto realizzata qualche giorno fa e rendetela comparabile, definendo un punto p minore di un punto p' se e solo se p ha modulo (distanza dall'origine) minore di p'. Questa relazione rispetta il contratto definito dall'interfaccia? (Consultate la documentazione delle API per decidere) In caso affermativo, realizzate un main di prova che ordini un array di punti e guardate come vengono ordinati.
- [Classe astratta Curva] Definite una classe astratta di nome Curva (nel pacchetto
it.unimi.mat.geometria) che corrisponda a una curva sul piano cartesiano. Questa classe deve avere:
- un metodo astratto boolean passaPer(Punto p) che dice se la curva passa per un punto dato;
- un metodo concreto boolean passaPer(Punto p[]) che restituisce true sse la curva passa per tutti i punti elencati.
- [Classe Parabola] Fate in modo che le classi Parabola e Retta estendano Curva.
- [Metodo arePipppere] Due curve C e C' sono dette pipppere se e solo se esiste un x intero
compreso fra 1 e 10 tale che i punti (x,x) e (2*x,2*x) appartengono a entrambe le curve e il punto (x+1,1.5*x*x) appartiene ad almeno
una delle due curve.
Aggiungete alla classe Curva un metodo statico boolean arePipppere(Curva c1, Curva c2) che date due curve restituisce true sse le curve sono pipppere. Verificate, usando questo metodo che la retta y=x e la parabola y=-3x^2+19x-24 sono pipppere.
- [Classe Iperbole] Definite una classe Iperbole che estende Curva e le cui istanze rappresentano iperboli i cui semiassi giacciono sugli assi cartesiani. Decidete voi di quali costruttori e metodi dotarla.