-7

这段代码会做什么?

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

enemysno 是一个介于 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 回答