f_andreuzzi icon

Angolo.java

f_andreuzzi | PRO | 07/16/20 06:27:05 PM UTC | 0 ⭐ | 235 👁️ | Never ⏰ | []
Java |

1.08 KB

|

None

|

0 👍

/

0 👎

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