• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダブルループ )

ダブルループを使った正方形の中に小さい正方形を作るプログラムの作り方

このQ&Aのポイント
  • 質問者は、ダブルループを使用して正方形の中に小さい正方形を何重にも作るプログラムを作りたいと考えています。
  • 現在のプログラムでは、綺麗な正方形の中に正方形の図が描かれないため、改善方法を求めています。
  • どのようにすれば正方形の中に正方形を綺麗に描くことができるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

drawRect(int x,int y,int width,int height)の1つ目と2つ目の引数はそれぞれx,y座標を示しています。あなたが書いているコードの p.drawRect(65*(i+2),65*(t+2),60,60); p.drawRect(65*(i+2),65*(t+2),50,50); p.drawRect(65*(i+2),65*(t+2),40,40); を見ると、3つともx,y座標が同じ点を指しています。これがうまくいかない原因です。正方形の中に正方形を書くときは3つともx,y座標が変わるので for(int t=0;t<5;t++){ for(int i=0;i<4;i++){ g.drawRect(65*(i+2),65*(t+2),60,60); } } for(int t=0;t<5;t++){ for(int i=0;i<4;i++){ g.drawRect(65*(i+2)+5,65*(t+2)+5,50,50); } } for(int t=0;t<5;t++){ for(int i=0;i<4;i++){ g.drawRect(65*(i+2)+10,65*(t+2)+10,40,40); } } または、この3つを1つにまとめた for(int t=0;t<5;t++){ for(int i=0;i<4;i++){ for(int j=0;j<7;j++) //せっかくなので増やしてみました { g.drawRect(65*(i+2)+5*j,65*(t+2)+5*j,60-10*j,60-10*j); } } } とすればいいでしょう。

cool12
質問者

お礼

解答ありがとうございました 助かりました(´`;)

関連するQ&A

専門家に質問してみよう