4

for ループを使用してデカルト グリッドを作成しようとしています。以下はこれまでのコードの一部です。実行すると、一連の行は作成されませんが、白いパネルのように見えるウィンドウが生成され、コンピューターの速度が大幅に低下します。実際、タスクマネージャーを起動してタスクを終了する必要があります。正常に終了することさえできないからです。

public void paintComponent(Graphics g)
{
    int width = getWidth();
    int height = getHeight();
    super.paintComponent(g);

    int xstart=0;

    for(int i = 1; i <= 10; i = i++)
    {
        xstart = i*(width/10);
        g.drawLine(xstart, 0, xstart, height);
    }
}
4

3 に答える 3

3

forループのインクリメントが間違っています。それ以外の

i = i++

それは単純なはずです

i++

i,ポストインクリメント演算子は、割り当てられている古い値を返すi,ため、i実際には変更されません。

于 2013-10-03T18:36:20.767 に答える