ITI “G.M.Angioy” Sassari – QUARTA INFORMATICA A.S. 2016-17 24.1. solScheda di lavoro (OOP: classi Punto e Segmento) 03/04/2017 //file segmento.java package javaapplication1; import java.lang.Math; Punto Segmento nome x y e1 e2 nome Costruttori AcquisisciDati DammiDati Sposta SpostaX Costruttori NomeSegmento Lunghezza PuntoMedio public class Segmento { private Punto E1, E2; private String Nome; public Segmento(Punto A, Punto B) { E1 = A; E2 = B; } public Segmento() { } public double Lunghezza() { double d = Math.sqrt((E2.getX() - E1.getX()) * (E2.getX() - E1.getX()) + (E2.getY() - E1.getY()) * (E2.getY() - E1.getY())); return d; } //imposta il nome del segmento come concatenazione //dei nomi dei punti che costituisco le estremità del segmento stesso public void setNome() { Nome = E1.getNome() + E2.getNome(); } //imposta il nome del segmento //assegnando il valore ricevuto in ingresso public void setNome(String n) { Nome = n; } //restituisce il punto medio del segmento public Punto PuntoMedio(String n) { Punto Pm = new Punto(); Pm.setX ( (E1.getX() + E2.getX()) / 2f ); Pm.setY ( (E1.getY() + E2.getY()) / 2f ); Pm.setNome (n); return Pm; } //restituisce il punto medio del segmento public Punto PuntoMedio() { Punto Pm = new Punto(); Pm.setX ( (E1.getX() + E2.getX()) / 2 ); Pm.setY ( (E1.getY() + E2.getY()) / 2); Pm.setNome ( "M" + E1.getNome() + E2.getNome()); return Pm; } } // fine classe Segmento [email protected] Questo lavoro è concesso in uso secondo i termini di una Licenza Creative Commons. 52 ITI “G.M.Angioy” Sassari – QUARTA INFORMATICA A.S. 2016-17 //file javaapplication1.java package javaapplication1; public class JavaApplication1 { public static void main(String[] args) { Punto Punto1 = new Punto("P", 1, 3); Punto Punto2 = new Punto("Q", 4, 7); Segmento s1 = new Segmento(Punto1,Punto2); System.out.println(Punto1.DammiDati()); System.out.println(Punto2.DammiDati()); s1.setNome(); System.out.println("Punto medio segento " + s1.getNome() + " --> ("+ s1.PuntoMedio().getX() +","+ s1.PuntoMedio().getY() +")"); System.out.println("lunghezza segmento " + s1.getNome() + " --> "+ s1.Lunghezza() ); } // end Main } // fine class [email protected] Questo lavoro è concesso in uso secondo i termini di una Licenza Creative Commons. 53