2016-03-21 6 views
0

こんにちは私は、Javaでputpixelメソッドを使って円を描くコードを書いています。 私はこのコードのループを設計しようとしましたが、私は成功しませんでした。 これは元のコードである:RADは半径であり、xを表しループアルゴリズムの設計

g2d=(Graphics2D) g; 
    int x=200, y=200,rad =120; 
    printcircle(x,y,rad,g); 
    printcircle(x+rad/2,y,rad/2,g); 
    printcircle(x-rad/2,y,rad/2,g); 
    printcircle(200-90,200,30,g); 
    printcircle(200+90,200,30,g); 
    printcircle(200-30,200,30,g); 
    printcircle(200+30,200,30,g); 
    printcircle(200+45,200,15,g); 
    printcircle(200-45,200,15,g); 
    printcircle(200+15,200,15,g); 
    printcircle(200-15,200,15,g); 
    printcircle(200-15,200,15,g); 
    printcircle(200-75,200,15,g); 
    printcircle(200+75,200,15,g); 
    printcircle(200+105,200,15,g); 
    printcircle(200-105,200,15,g); 

、yは円のための中心点です。 これは私がそれ

enter image description here

、これは私がループでそれをコーディングし始めていたコードであるための私のコード書かれていた形状である:誰も私を助けてくださいすることができた場合

g2d=(Graphics2D) g; 
    int x=200, y=200,rad =120; 
    printcircle(x,y,rad,g); 
    for(int i=0;i<2;i++) 
    { int t=rad/2; 
    printcircle(x+t,y,t,g); 
     printcircle(x-t,y,t,g); 
     } 
for(int i=0;i<3;i++) 
{ 
    int t=rad/4; 
    printcircle(200-90,200,30,g); 
     printcircle(200+90,200,30,g); 
     printcircle(200-30,200,30,g); 
     printcircle(200+30,200,30,g); 
} 
      printcircle(200+45,200,15,g); 
      printcircle(200-45,200,15,g); 
      printcircle(200+15,200,15,g); 
      printcircle(200-15,200,15,g); 
      printcircle(200-15,200,15,g); 
      printcircle(200-75,200,15,g); 
      printcircle(200+75,200,15,g); 
      printcircle(200+105,200,15,g); 
      printcircle(200-105,200,15,g); 

を。

+0

これらはどのようにフリルの下着をデザインしていますか? xD –

答えて

1
g2d=(Graphics2D) g; 
int x=200, y=200,rad =120; 
for(int i=0;i<8;i++) 
{ 
    int param; 
    if(i == 2 || i == 6) 
     param = 30; 
    else if(i == 4) 
     param = 60; 
    else if(i == 0) 
     param = 120; 
    else 
     param = 15; 
    printcircle(x+i*15,y,param,g); 
    if(i == 0) 
     continue; 
    printcircle(x-i*15,y,param,g); 
} 
+0

あなたのアプローチがなぜ優れているのか説明し、質問に記載されている問題を修正した場合、この回答はより良いでしょう。コードのみの質問は技術的にはOKですが、完全に説明された回答と同じ品質レベルではありません –