转载自:https://blog.csdn.net/guomutian911/article/details/48879343
给定一个具体时间,计算时针与分针之间的角度
在下面解法中,h表示小时,m表示分钟。同时,假定h的范围是0~23。
我们得到以下规则:
1)分针的角度(从12点整开始算起):360*(m/60)
2)时针的角度(从12点整开始算起):360*(h%12)/12+360*(m/60)*(1/12),即为:时针时刻值+分针带来的偏移量
3)时针和分针之间的角度:(时针的角度-分针的角度)%360
简化上述式子,可以得到(30h-5.5m)%360.
Java代码实现:
-
package XiaoMi;
-
-
import java.util.Scanner;
-
-
public
class test8 {
-
-
/**
-
* @param args
-
*/
-
public static void main(String[] args) {
-
// TODO Auto-generated method stub
-
// TODO Auto-generated method stub
-
Scanner scan =
new Scanner(System.in);
-
String str = scan.nextLine();
-
String s[] = str.split(
":");
-
int h, m;
-
h = Integer.valueOf(s[
0]);
-
m = Integer.valueOf(s[
1]);
-
double gap = (
30 * h -
5.5 * m) %
360;
-
System.out.println(
"时针与分针的夹角为:" + gap);
-
}
-
-
}
运行结果:
-
6:
30
-
时针与分针的夹角为:
15.0