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