Section outline

  • Argomenti svolti

    Array ed ArrayList in Java; principali metodi degli ArrayList; classi involucro; auto-impacchettamento e auto-spacchettamento; ciclo for generalizzato (for each); conteggio di elementi, ricerca e determinazione di massimo e minimo in un ArrayList; array 2-dimensionali; clonazione di array; copiatura di array (system.arraycopy); inserire e rimuovere un elemento in un array; incremento di dimensione di un array; array paralleli ed oggetti; array parzialmente riempiti.
    • Un poligono è una curva chiusa formata da segmenti che ne congiungono i vertici.

      Si realizzi una classe Poligono i cui metodi public double perimetro() e public double area() calcolino, rispettivamente, il perimetro e l'area di un poligono.

      Per calcolare il perimetro, si sommi la distanza fra punti adiacenti.

      L'area di un poligono con vertici (x0,y0),...,(xn-1,yn-1) è data dal valore assoluto di

      (1/2)*(x0y1+x1y2+...xn-1y0-y0x1-y1x2-...-yn-1x0)

      I vertici del poligono saranno memorizzati in un array list di oggetti Point2D.Double, che costituirà la variabile di istanza della classe Poligono.

      La classe Poligono dovrà contenere inoltre i metodi public void add(Point2D.Double aPoint) e public void draw(Graphics2D g2), che consentono rispettivamente di aggiungere un punto ad un poligono e di disegnare il poligono stesso.

      Si rifaccia poi l'esercizio precedente, senza creare una classe Poligono ma utilizzando invece la classe Polygon già esistente nel package java.awt, che definisce i vertici del poligono per mezzo di coppie di punti. In questo  caso si usi dunque l'ereditarietà.