:ループのすべての偶数y%2 == 0
は1色、(また、上記のコードで言及)、そうでなければ第2のいずれかになります。
お客様のfor loop
は、x < 10
の代わりにx > 10
であるため、繰り返しは実行されません。
変更最初の行から:
for (int x = 0; x>10;x++){
へ:あなたのループが開始しない一度よう
for (int x = 0; x < 10; x++) {
はまた、あなたがy
各反復180をリセットし、四角形のすべてが描画されますお互いの上にループの外にy
を宣言するか、x
を使用して矩形の位置を計算します。
のいずれかを次のように:
int y = 180;
for (int x = 0; x < 10; x++) {
graph2D.drawRect(170, y, 20, 50);
y = y + 45;
}
またはこのような:
for (int x = 0; x < 10; x++) {
graph2D.drawRect(170, (x * 45) + 180, 20, 50);
}
上記数学(x * 45) + 180
秒となり、最初の矩形は(x * 45) + 180 = 0 + 180 = 180
になることを言っての、超簡単な方法であります(x * 45) + 180 = 45 + 180 = 225
などと続きます。
矩形の色を変更するには、Colors
のリストまたは配列を作成し、各繰り返しでリストから別のColor
を使用する必要があります。もちろん
//Make the list
Color[] colors = {Color.black, Color.blue, Color.cyan, Color.darkGray,
Color.green, Color.lightGray, Color.magenta, Color.magenta,
Color.orange, Color.pink, Color.red, Color.white, Color.yellow};
//Draw each rectangle
for (int x = 0; x < 10; x++) {
//Change the color
g.setColor(colors[x]);
//Draw the rectangle
graph2D.drawRect(170, (x * 45) + 180, 20, 50);
}
あなたは色がランダムになりたい場合は、Random
クラスを使用して、0とあなたのcolors
配列の長さの間の乱数を生成するに見ることができます。また、colors
配列のインデックスとしてx
を使用していることに注意してください。ループがxを配列の色数よりも増やすと、ArrayIndexOutOfBoundsExceptionが発生します。
私はまたあなたのインスタンスをGraphics
と名付けたとして、ほとんどの場合そのように行われているので、g
とします。
これは機能していないため、おそらくより多くのコードを参照する必要があります。あなたはループなしで単一の矩形を描くことができますか? –
開始するには、ループに入るたびに「y」を再初期化するので、四角形が上に描画されます。ループの前に 'int y = 180;'を動かして、あなたが得るものを見てください。そこから色や残りの部分を扱うことができます – Windle
'String color = x%2 == 0? "黒": "白"。色が変わったようなもの。 –