import acm.program.*;
import acm.graphics.*;
import java.awt.*;public class Rainbow extends GraphicsProgram { public void run() {
GRect gRect = new GRect( 0, 0, getWidth(),getHeight());
gRect.setFilled(true);
gRect.setFillColor(Color.CYAN);
add(gRect);
int X = getWidth()/2; //centerOfAllCirclesX
int Y = 3*getHeight()/2;//centerOfAllCirclesY
int D = getHeight()/16;//the distance of each arcs
GOval gOval1 = new GOval(-(Y-D-X),D,2*(Y-D),2*(Y-D));
gOval1.setFilled(true);
gOval1.setFillColor(Color.RED);
add(gOval1);
GOval gOval2 = new GOval(-(Y-2*D-X),2*D,2*(Y-2*D),2*(Y-2*D));
gOval2.setFilled(true);
gOval2.setFillColor(Color.ORANGE);
add(gOval2);
GOval gOval3 = new GOval(-(Y-3*D-X),3*D,2*(Y-3*D),2*(Y-3*D));
gOval3.setFilled(true);
gOval3.setFillColor(Color.YELLOW);
add(gOval3);
GOval gOval4 = new GOval(-(Y-4*D-X),4*D,2*(Y-4*D),2*(Y-4*D));
gOval4.setFilled(true);
gOval4.setFillColor(Color.GREEN);
add(gOval4);
GOval gOval5 = new GOval(-(Y-5*D-X),5*D,2*(Y-5*D),2*(Y-5*D));
gOval5.setFilled(true);
gOval5.setFillColor(Color.BLUE);
add(gOval5);
GOval gOval6 = new GOval(-(Y-6*D-X),6*D,2*(Y-6*D),2*(Y-6*D));
gOval6.setFilled(true);
gOval6.setFillColor(Color.MAGENTA);
add(gOval6);
GOval gOval7 = new GOval(-(Y-7*D-X),7*D,2*(Y-7*D),2*(Y-7*D));
gOval7.setFilled(true);
gOval7.setFillColor(Color.CYAN);
add(gOval7);
}}
那gOval2来说:GOval gOval2 = new GOval(-(Y-2*D-X),2*D,2*(Y-2*D),2*(Y-2*D));
后面坐标中的-(Y-2*D-X)中的*去掉后,eclipse不会报错,但是两种情况在面板上画出的图形不一样,谁能给我解释一下
-(Y-2*D-X)和-(Y-2D-X)有什么不同吗?thx!