制作嵌套多边形

时间:2013-03-29 08:02:26

标签: java loops geometry do-while

我试图使用循环,但不知道如何让它在循环中运行。这就是我对同心圆的看法,我想用三角形来表达同样的想法。

int x = 100;   
int y = 100;   
int width = 100;   
int height = 100;     
do{    
  g.drawOval(x, y, width, height);    
  x = x + 5;     
  y = y + 5;     
width = width - 10;     
height = height - 10; 
  } while (width>0 && height>0);    

1 个答案:

答案 0 :(得分:0)

首先,do-while循环并不常见(虽然它们确实有用) - 最好熟悉whilefor

由于这似乎是一个家庭作业问题,我要做的是向您展示一些使用多边形绘制同心正方形的代码(这不是常规方法,通常只使用g.drawRect()

int width = 200;
int height = 200;
int xMid = width/2;
int yMid = width/2;
while(width > 0 && height > 0) {
    // Draw the square
    int xLeft = xMid - width/2;
    int xRight = xMid + width/2;
    int yTop = yMid - height/2;
    int yBottom = yMid + height/2;
    int[] xPoints = {xLeft, xRight, xRight, xLeft};
    int[] yPoints = {yTop, yTop, yBottom, yBottom};
    int nPoints = 4;
    g.drawPolygon(xPoints, yPoints, nPoints);

    // Change the dimensions
    width -= 20;
    height -= 20;
}

看看你是否可以修改它以绘制三角形。