2017-03-02 3 views
-2

私は四角形のグリッドの作成に関して質問があります。 、初心者のためのよくJavaで10の距離で区切られた四角形のグリッドを作成する

import java.awt.*; 
import java.awt.geom.*; 
import com.programwithjava.basic.DrawingKit; 

public class CreateGrid { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     DrawingKit dk = new DrawingKit("Grid"); 

     int x = 10, y = 30, width = 20, height = 20, step = 10; 


     //make 9x9 grid 
     for (int column = 0; column < 10; column ++) { 
      for (int row = 0; row < 10 ; row ++) { 
       //draw the rectangles 
       Rectangle2D.Float square = new Rectangle2D.Float(x, y, width * row, height * column); 
       dk.draw(square); 


      } 
     } 

    } 
+0

なぜ、num​​berofsquaresとnumberofSquares変数の両方を持っていますか?どちらも使用されていないようです。 – Matt

+0

申し訳ありませんが、そこにはいけません。あなたは四角形を区切る方法についての入力がありますか? –

答えて

0

:私は、しかし、私は私のコードで以下10の距離だけ離れた任意の二つの隣接する正方形の側面を作成する方法を見つけ出すことはできません正方形の9X9のグリッドで作成するために、ループのネストされた使用しますここでは、四角形のグリッドを描画するのではなく、オーバーラップする四角形の束を描画します。描かれた四角形はすべて、x座標とy座標を決して変更しないので、(10,30)に角があります。

これを実行する適切な方法は、幅と高さをすべて20に固定し、ネストされたforループのx/y座標を変更することです。あなたは0から9包括的にカウントされているのでまた、これは、9 * 9、10×10グリッドではないでしょう。以下は、ジョブに

// There is no need for separate width/height since it is a square 
int size = 20; 
// Add the required gap between squares to the size 
int displacement = size + 10; 
for (int column = 0; column < 10; column ++) { 
    for (int row = 0; row < 10 ; row ++) { 
     //draw the rectangles 
     Rectangle2D.Float square = new Rectangle2D.Float(x + (displacement * row), y + (displacement * column), size, size); 
     dk.draw(square); 
    } 
} 

編集を行う必要があります。

関連する問題