私は、先行するものと同じ距離だけ離れて、画面全体に渡って縦線を水平に複製するforループを作成しようとしていました。しかし、私のコードは、構文的に正しいと思われるにもかかわらず動作していないようです。私は下に私のコードを掲載しました、うまくいけば誰かが問題を識別することができます。グラフィックスで意図した通りにループが動作しない
class HVLines
{
public static void Lines(Graphics g)
{
int k;
int x=0;
for (k = 1; k <= 50; k++)
{
g.drawLine(20+x,150,20+x,525);
for (x = 1; x <= 50; x+=20)
{
}
}
}
}
空の内側のループがどのような目的を果たしありませんか?はい、あなたの構文はコンパイルされていることを意味する「正しい」ですが、論理的な意味はありません。最初に論理を解くことなく、コンピュータから離れて紙で別々にコードを書かないでください。 –
'x'の内部ループにコードがないので、何もしません(CPU時間の無駄を除く)。外側ループの 'drawLine()'呼び出しは、最初の繰り返しでは 'x = 0'で、その後のすべての繰り返しでは' x = 61'で描画されます。おそらくそれを内側のループの内側に移動するでしょうか?そして 'k'ループの目的は何ですか?ループ内の変数を宣言していれば、 'x'の誤用に気付いたでしょう。 (int x = 1; x <= 50; x + = 20) ' – Andreas
質問を改善してください:あなたが達成しようとしているもののイメージを表示し、各コード行が何をしていると思いますかを説明してください。あなたが達成しようとしていることと達成していない理由を理解するのに役立ちます。 –