这是我正在做的家庭作业。在我问之前,我不是在寻找一段代码。我只是想要一些帮助来找出我可能出错的地方。
作业的目标是运行一个循环 100,000 次的小程序。有 25 个间隔,每个间隔的时间需要存储在一个数组中。到目前为止,我能够让小程序正确运行和打印,但数组只存储第一个值。我在想有一个格式问题或一些小问题让我无法弄清楚这个问题,但我已经搜索了一段时间,我似乎无法弄清楚这一点。
我的代码如下:
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。如果有人可以看看我可能缺少什么,我将非常感激。
谢谢