今日は、定規に目盛りを配置する再帰的な方法に取り組んでいます。割り当ては、目盛りを配置し、その高さと位置を出力することを示しています。x & y を ( 0,0
)、幅 20、高さ 10 と仮定すると、プログラムは次のように表示する必要が
あり
ます
。
位置 15.0、高さ 5.0
位置 12.5、高さ 2.5
位置 17.5、高さ 2.5
許容される最小の高さは 2.00 で、各位置は大きい方の半分の高さに注意してください。私は多くのことを試しましたが、アイデアはありますが、機能していません。位置 10 から 7.5 までの数字を取得しますが、x 座標を移動しているだけでも右側がごちゃごちゃしています。これは私のコードです。あなたが私を助けてくれることを願っています。
*main method contains the input for user and the method calls.
DrawRulerLeft(x,y,width,height); //Method to draw left part of rule
DrawRulerRight(x,y,width,height); //Method to draw right part of rule
public static void DrawRulerLeft(double x, double y, double w, double h) {
if (h > 2 ) { //smallest height aloud
w = w/2;
System.out.println("Tick position:+ w + " Tick height: " + h );
DrawRulerLeft(x, y, w, h/2);
}
}
//Recursive method to draw right of rule
public static void DrawRulerRight(double x, double y, double w, double h) {
if (h > 2 && w >= 0) {
DrawRulerRight(x+w/2,y,w/2,h/2);
System.out.println("Tick position:" + x + " Tick height: " + h );
}
}