Here is the definition of a method, drawTarget, to draw a single ' target' consisting of two concentric
circles with the top left corner at coordinates (x,y).
private void drawTarget(Graphics g, int x, int y) {
g.drawOval(x,y,20,20);
g.drawOval(x+5,y+5,10,10);
}
(a) Tracing through carefully, what would the following code display?
for (int a = 0; a<5; a++)
drawTarget(g, 20+a*30, 40);
(The main point of this exercise is tracing very carefully through, making sure that the components
of the for loop are used in the correct way.)
(b) Rewrite the for loop in 1a as a while loop. Why is a for loop the conventional solution for
coding this repetition?
(c) What would the following code display?
for (int a = 1; a<=6; a++)
if (a%2 == 0)
drawTarget(g, 20+a*30, 40);
(More detailed tracing exercise!)
(d) Modify the for loop in 1c to display the same pattern, but without the if in the loop body. [Hint:
Consider what precise set of values of a you need to use in the call
drawTarget(g, 20+a*30, 40); , and customize the for loop control to cover that set of
values.]