今天看到一道编程题,计算当前时间时针与分针之间的夹角,想了一下大概写了一下,先实现功能。
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Author : chenlei4616@163.com
* @Date : 2019/3/28 9:23
* @Version : 1.0
* @Description : TODO
*/
public class CalculateTimekeeperIncludedAngle {
public static void main(String[] args) {
System.out.println("计算当前事件时针与分针之间的夹角");
//获取当前时间按照小时-分钟的格式
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
String format = sdf.format(new Date());
System.out.println("当前时间是:"+format);
String[] split = format.toString().split(":");
//先计算分针与12点之间的度数
float i = Float.valueOf(split[1]) / 60;
float minuteHandAngle = i * 360;
System.out.println("分针与12点之间的夹角是:" + minuteHandAngle+"度");
//计算时针与12点之间的夹角
float timeHandAngle = Float.valueOf(split[0]) * 30;
timeHandAngle += (Float.valueOf(split[1])/60)*30;
System.out.println("时针与12点之间的夹角是:" + timeHandAngle + "度");
float angle = timeHandAngle>minuteHandAngle?timeHandAngle-minuteHandAngle:minuteHandAngle-timeHandAngle;
System.out.println("时针与分针之间的夹角是:"+angle+"度");
}
}
打印的结果: