作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳答案
“最佳”转换方法是将度数四舍五入到下一个象限,这当然取决于你的指南针有多少个基点...
假设您只有 4 个北、南、西、东,
然后尝试转换 180° 将与南完全匹配(假设北为 0°=360°),但我预计 200° 也指向南,因为它比西更接近该方向。 ..
160° 的标准相同,因为距离南边比东边更近
定义枚举
基点
enum CPoint {
NORTH,
EAST,
SOUTH,
WEST
}
and test it like:
public static void main(String[] args) {
final int divisor = 360 / CPoint.values().length;
for (int i = 0; i < 360; i++) {
final int coci = i / divisor;
final int resto = i % divisor;
if (resto <= divisor / 2) {
System.out.println(i + "--->" + CPoint.values()[coci % CPoint.values().length]);
} else {
System.out.println(i + "--->" + CPoint.values()[(coci + 1) % CPoint.values().length]);
}
}
}
输出将显示循环如何将i的值舍入到最接近的基点
这种方法最好的部分是您可以定义一个方法,该方法采用整数作为参数并向基点返回枚举常量...
然后你可以做一些不错的事情,比如开关盒或类似的东西:-)
关于java - 将度数转换为象限名称的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38503399/
这个问题在这里已经有了答案: How can I vertically center a div element for all browsers using CSS? (48 个答案) How
我是一名优秀的程序员,十分优秀!