风向角度转风向

这段代码定义了一个方法`windDirectionSwitch`,用于将风向角度转换为对应的风向描述,如'北'、'东北偏北'等。方法根据输入的角度值在0°到360°之间的不同范围,返回相应的风向字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    private static final String[] directArr = new String[] { "北", "东北偏北", "东北", "东北偏东", "东", "东南偏东", "东南", "东南偏南", "南",
            "西南偏南", "西南", "西南偏西", "西", "西北偏西", "西北", "西北偏北" };
    /**
     * 
    N    北    0°
    NNE    东北偏北    22.5°
    NE    东北    45°
    ENE    东北偏东    67.5°
    E    东    90°
    ESE    东南偏东    112.5°
    SE    东南    135°
    SSE    东南偏南    157.5°
    S    南    180°
    SSW    西南偏南    202.5°
    SW    西南    225°
    WSW    西南偏西    247.5°
    W    西    270°
    WNW    西北偏西    292.5°
    NW    西北    315°
    NNW    西北偏北    337.5°
     */
    public static String windDirectionSwitch(float degrees) {
        int index = 0;
        if (348.75 <= degrees && degrees <= 360) {
            index = 0;
        } else if (0 <= degrees && degrees <= 11.25) {
            index = 0;
        } else if (11.25 < degrees && degrees <= 33.75) {
            index = 1;
        } else if (33.75 < degrees && degrees <= 56.25) {
            index = 2;
        } else if (56.25 < degrees && degrees <= 78.75) {
            index = 3;
        } else if (78.75 < degrees && degrees <= 101.25) {
            index = 4;
        } else if (101.25 < degrees && degrees <= 123.75) {
            index = 5;
        } else if (123.75 < degrees && degrees <= 146.25) {
            index = 6;
        } else if (146.25 < degrees && degrees <= 168.75) {
            index = 7;
        } else if (168.75 < degrees && degrees <= 191.25) {
            index = 8;
        } else if (191.25 < degrees && degrees <= 213.75) {
            index = 9;
        } else if (213.75 < degrees && degrees <= 236.25) {
            index = 10;
        } else if (236.25 < degrees && degrees <= 258.75) {
            index = 11;
        } else if (258.75 < degrees && degrees <= 281.25) {
            index = 12;
        } else if (281.25 < degrees && degrees <= 303.75) {
            index = 13;
        } else if (303.75 < degrees && degrees <= 326.25) {
            index = 14;
        } else if (326.25 < degrees && degrees < 348.75) {
            index = 15;
        } else {
            logger.error("degrees[{}] 大于 360.0了", degrees);
        }
        return directArr[index];
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值