循环中的drawString只写一次而不是多次

时间:2013-10-07 11:59:58

标签: java loops for-loop

这段代码会做什么?

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

enemysno是0到10之间的随机数,并且工作正常。问题是,它循环一次,但在第一次迭代后停止添加新行。

作为Psuedo代码,我虽然我从0开始。然后比较条件,如果它的错误,代码,然后进行++迭代,然后重复循环?

最后,我想将n个对象添加到数组中,但我可以使用简单的数组来工作!

1 个答案:

答案 0 :(得分: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方法绘制最终字符串