-7

このコードは何をしますか?

for(int i = 0; i < enemysno; i++){
    g.drawString("\nArray size: " + i, 200, 200);
}  

energysno は 0 から 10 までの乱数で、問題なく動作します。問題は、一度ループするが、最初の繰り返しの後に新しい行の追加を停止することです。

疑似コードとして、i は 0 から始まります。次に、条件を比較し、偽の場合、コードを実行し、++ 反復を行い、ループを繰り返しますか?

最終的に、n個のオブジェクトを配列に追加したいのですが、これを単純な配列で機能させることができます!

4

1 に答える 1

1

簡単なテストにより、ループが実際に意図したとおりに機能することが証明されます。

 public static void main(String[] args)
    {
        int enemysno = 5;
        for (int i = 0; i < enemysno; i++)
        {
            System.out.println("lalala " + i);
        }
    }

これは正常に動作します

lalala 0
lalala 1
lalala 2
lalala 3
lalala 4

当たり前のことですが、デバッグなどのテストを行うことで、ループ自体が目的の回数だけ入力されていることを確認できました。問題は文字列の表示にあるに違いありません。ほとんどの場合、drawString メソッドが印刷された文字列を毎回上書きします。

出力の数値を確認すれば明らかです。

ソリューション?

文字列ビルダーを使用して部分的な文字列を連結し、 drawString メソッドを使用して最終的な文字列を描画します

于 2013-10-07T12:09:35.170 に答える