Yo creo que donde te has confundido es en el concepto de ángulo. Un ángulo se puede expresar en grados sexagesimales, en cuyo caso los valores habituales son entre 0 y 360 grados, o en radianes, en cuyo caso los valores habituales son múltiplos del número Pi. Así por ejemplo 180 grados son Pi radianes, 90 grados Pi/2 radianes, etc. El número Pi es la relación entre la longitud del desarrollo de un círculo y su diámetro y vale 3,1417... entonces los radianes tal y como los devolverá el ordenador normalmente serán decimales largos. Y como estás limitando los grados de 0 a 360 los radianes estarán comprendidos entre 0 y 2*pi, es decir, entre 0 y 6,28 aproximadamente.
Por ahí has escrito esto: // Comprobaciones por si la suma de los radianes de a y b es mayor a 360, pero lo que tienes que comprobar no es que los radianes no superen 360, sino que el ángulo sexagesimal no supere 360.
Lo que te puse fue cómo plantearía yo el problema, en azul el código y en marrón los comentarios, lo que pasa es que no me dio tiempo a hacerlo todo.
Aquí añado algo más (también he añadido un método para poder recuperar el valor del ángulo sexagesimal) de cómo pienso yo que podría ir quedando:
La clase Angulo:
public class Angulo {
//El angulo está en grados, podremos obtener su equivalencia en radianes usando un método
private int angulo; //Tomamos el ángulo como entero, aunque no tendría por qué ser así
public Angulo(int angulo) {
this.angulo = angulo;
}
//Devuelve la equivalencia del ángulo en radianes
public double radianes() {
double angRadianes = 0;
if (angulo < 360) { angRadianes = Math.toRadians(angulo); }
else {
System.out.println("Valor de ángulo no permitido");}
return angRadianes;
}
//Método que permite sumar un entero al ángulo
public int suma (int numero) {
angulo = angulo + numero;
return angulo;
}
public int getAngulo() {return angulo;}
}
Y la clase operacionesAngulos:
public class OperacionesAngulos {
public static Angulo suma(Angulo a, Angulo b) {
// Comprobaciones por si la suma de los ángulos de a y b es mayor a 360
Angulo sumaResultado = null;
int suma = a.getAngulo() + b.getAngulo();
if (suma <= 360 && suma >=0) {
sumaResultado = new Angulo (suma);
}
else {
System.out.println("Valor de ángulo no permitido");
}
return sumaResultado;
}
public static Angulo resta(Angulo a, Angulo b) {
// Comprobaciones por si la suma de los ángulos de a y b es mayor a 360
Angulo restaResultado = null;
int resta = a.getAngulo() - b.getAngulo();
if (resta <= 360 && resta >=0) {
restaResultado = new Angulo (resta);
}
else {
System.out.println("Valor de ángulo no permitido");
}
return restaResultado;
}
}