public static class Angolo {
public final double angolo;
// costruttore con gradi primi e secondi
public Angolo(double gradi, double primi, double secondi) {
this.angolo = gradi + primi / (double) 60 + secondi / (double) 3600;
}
// costruttore con gradi
public Angolo(double angolo) {
this(angolo, 0, 0);
}
public double inRadianti() {
return Math.toRadians(angolo);
}
public double seno() {
return Math.sin(inRadianti());
}
public double coseno() {
return Math.cos(inRadianti());
}
// somma due angoli
public Angolo somma(Angolo altro) {
return new Angolo(this.angolo + altro.angolo);
}
// sottrazione di angoli
public Angolo sottrazione(Angolo altro) {
return new Angolo(this.angolo - altro.angolo);
}
@Override
public String toString() {
return String.valueOf(angolo);
}
@Override
public boolean equals(Object altro) {
if(altro == null) return false;
else if(!(altro instanceof Angolo)) return false;
else {
Angolo angolo = (Angolo) altro;
return this.angolo == angolo.angolo;
}
}
}
Comments