我试图用我写的方法叫Euelr圈,该方法使用名为Turtle的类。
这是我写的:
public class turtleAa {
public static void main(String[] args) {
int number = LineInput.readInt();
euelr(number);
}
public static void euelr(int n){
Turtle leonardo = new Turtle();
leonardo.tailDown();
for (int i=1; i<=n; i++){
leonardo.moveForward(50);
leonardo.turnRight(90);
leonardo.moveForward(50);
leonardo.turnLeft(135);
leonardo.moveForward(35);
leonardo.turnLeft(90);
leonardo.moveForward(35);
leonardo.turnLeft(90);
leonardo.moveForward(70.71067812);
leonardo.turnLeft(135);
leonardo.moveForward(50);
leonardo.turnLeft(135);
leonardo.moveForward(70.71067812);
leonardo.turnLeft(135);
leonardo.moveForward(50);
leonardo.turnLeft(?)
}
}}
我想绕一个完整的圆圈of Euler drawnings
这有两个主要问题:
不能低估如何用i和n正确控制角度。
乌龟莱昂纳多正在画线。
谢谢。
最佳答案
那这个呢?
leonardo.turnLeft(360/n);
当然,这仅适用于360的除数,但其中有很多(1,2,3,4,5,6,8,9,10,12,15,18,20 ...)。如果您的
turnLeft
方法接受非整数(即double
或float
)值,请使用leonardo.turnLeft(360.0/n);
相反(它也将适用于7,11,...-大约。)