在Java数组中存储时间间隔

时间:2012-11-06 23:48:24

标签: java arrays

这是我正在做的家庭作业。在我问之前,我不是在寻找一段代码。我想得到一些帮助,找出我可能出错的地方。

分配的目标是运行一个循环100,000次的applet。有25个间隔,每个间隔的时间需要存储在一个数组中。到目前为止,我能够让applet正确运行和打印,但数组只存储第一个值。我认为存在一个格式化问题或一些小问题让我无法解决这个问题,但我现在已经搜索了一段时间,我似乎无法解决这个问题。

我的代码如下:

    public class Line1TimedTest extends JApplet 
    {
        long start, elapsed, arrayValue;
        int x1=50, y1=50, x2=500, y2=500, limit=100000, value;
        DecimalFormat fmt;


        public void init() 
        {
    start = System.nanoTime();
    fmt = new DecimalFormat("###,###,###,###,###");
    }



    public void paint (Graphics g) 
    {
        int x, y, temp;
        float m, b;
            long [] arrayTimes = new long [25];

        for (int i = 1; i <=limit; i++) 
        {   
            m = (float)(y2-y1)/(x2-x1);
            b = y1 - m * x1;
            int value = 0;

            for (x = x1; x <= x2; x++)
            {
                y = (int)(m * x + b + 0.5);
                g.drawRect(x,y,0,0);

            }
            if (i%4000==0)
            {
                elapsed = System.nanoTime() - start;
                arrayValue = elapsed;
                arrayTimes[value] = arrayValue;
                System.out.println(fmt.format(i) + " lines drawn");
                value++;
            }


        }


    //insert print statement


     } 

}

程序编译并运行时没有错误,但是数组只填充了索引0处的值。所有其他值都是0.如果有人可以看一看,看看我可能会遗漏什么,我真的很感激它

由于

1 个答案:

答案 0 :(得分:0)

在每个循环中,用新的整数value覆盖整数。{/ p>

arrayTimes[i%4000] = arrayValue;

应该有用。

或者在循环外定义整数value