Нормализация угла в заданном диапазоне – это приведение угла, выходящего за границы диапазона, к углу в указанном диапазоне. При это угол должен оставаться «визуально» таким же.

Для диапазона от 0 до 360 градусов код будет следующим:

public static double normalize360(double angle) {
    angle = angle % 360;
    if (angle < 0) {
        angle = angle + 360;
    }
    return angle;
}

А для нормализации угла в диапазоне от -180 до 180 градусов можно использовать следующий код:

public static double normalize180(double angle) {
    if (angle == 180) {
        return angle;
    }
    angle = (angle + 180) % 360;
    if (angle < 0) {
        angle = angle + 360;
    }
    return angle - 180;
}

Исходный код

public class NormalizeAngle {
    public static void main(String[] args) {
        System.out.println(normalize360(360)); // 0
        System.out.println(normalize360(380)); // 20
        System.out.println(normalize360(-20)); // 340

        System.out.println();

        System.out.println(normalize180(180)); // 180
        System.out.println(normalize180(380)); // 20
        System.out.println(normalize180(-200)); // 20
    }

    public static double normalize360(double angle) {
        angle = angle % 360;
        if (angle < 0) {
            angle = angle + 360;
        }
        return angle;
    }

    public static double normalize180(double angle) {
        if (angle == 180) {
            return angle;
        }
        angle = (angle + 180) % 360;
        if (angle < 0) {
            angle = angle + 360;
        }
        return angle - 180;
    }
}

Нормализация угла в диапазоне 0-360 градусов