请注意沿线的灰色圆圈,它们需要平均放置以表示时间,这是我的代码,我哪里错了?
for (int i=0; i<12; i++)
{
c.drawCircle(140*(float)Math.cos((double) (i*30))+ width/2,
140*(float) Math.sin((double) (i*30)) + height/2, 1, p);
}
最佳答案
角度必须提供给Math.cos以弧度为单位(在 0
和 2*Math.PI
之间)。
所以,而不是
Math.cos((double) (i*30))
使用
Math.cos(i*Math.PI/6.0)
请注意,我还删除了对 double 的无用转换:将一个 int 和一个 double 相乘已经产生了一个 double。
关于java - 数学问题 : place circles around the clock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11448599/