2 public class Angulo implements OperAng, ComparaAng {
9 public int getSigno() {
13 public int getGrados() {
17 public int getMinutos() {
21 public int getSegundos() {
25 public void setSigno(int s) {
32 public void setGrados(int g) {
34 grados = Math.abs(g % 360);
37 public void setMinutos(int m) {
38 minutos = Math.abs(m % 60);
41 public void setSegundos(int s) {
42 segundos = Math.abs(s % 60);
51 public Angulo(int g, int m, int s) {
57 public Angulo(double radianes) {
58 fromRadianes(radianes);
61 public Angulo(Angulo a) {
62 setGrados(a.getGrados());
63 setMinutos(a.getMinutos());
64 setSegundos(a.getSegundos());
67 public String toString() {
68 return ((getSigno() < 0) ? "-" : "") + getGrados() + " " + getMinutos()
69 + "' " + getSegundos() + "\"";
72 public double toRadianes() {
73 return Math.toRadians(getGrados() + getMinutos() / 60.0
74 + getSegundos() / 3600.0) * getSigno();
77 public void fromRadianes(double rad) {
78 rad = Math.toDegrees(rad);
79 setGrados((int)Math.floor(rad));
80 rad -= Math.floor(rad);
82 setMinutos((int)Math.floor(rad));
83 rad -= Math.floor(rad);
85 setSegundos((int)Math.round(rad));
88 public Angulo mas(Angulo a) {
89 return new Angulo(toRadianes() + a.toRadianes());
92 public Angulo menos(Angulo a) {
93 return new Angulo(toRadianes() - a.toRadianes());
96 public int compareTo(Angulo a) {
97 if (toRadianes() > a.toRadianes())
99 if (toRadianes() < a.toRadianes())
105 public static void main(String args[]) {
106 Angulo a1 = new Angulo(2, 10, 20);
107 System.out.println("a1 = " + a1 + " (" + a1.toRadianes() + ")");
108 System.out.println("a1 + a1 = " + a1.mas(a1) + " (" + a1.mas(a1).toRadianes() + ")");
109 Angulo a2 = new Angulo(-500, 4, 40);
110 System.out.println("a2 = " + a2 + " (" + a2.toRadianes() + ")");
111 Angulo a3 = a1.menos(a2);
112 System.out.println("a3 = a1 - a2 = " + a3 + " (" + a3.toRadianes() + ")");
113 Angulo a4 = a2.mas(a1);
114 System.out.println("a4 = a2 + a1 = " + a4 + " (" + a4.toRadianes() + ")");
115 System.out.println("a2 comparado a a1 = " + a2.compareTo(a1));
116 System.out.println("a3 comparado a a1 = " + a3.compareTo(a1));
117 System.out.println("a3 comparado a a4 = " + a3.compareTo(a4));
118 //System.out.println("Java esta roto en el manejo de excepciones!!!");
123 // vim: set et sw=4 sts=4 :