gpt4 book ai didi

java - 如何计算一个方法被调用的次数?

转载 作者:行者123 更新时间:2023-12-01 17:45:02 27 4
gpt4 key购买 nike

这是一段非常简单的Java代码,我想编写一段代码来计算step方法被调用的次数。本质上,这段代码将绘制一个 blob 并计算该 blob 走了多少“步”。如果步数等于 Max,则 blob 将采用新的 dx/dy,例如新的速度。

Blob 类不是那么重要,所以我没有附加它。但是,PurposefulWanderer 类由另一个类(特别是 GUI)调用

我尝试创建一个名为 current 的静态变量,并在步骤方法下将其加一,但这不起作用。它仍然说当前变量仍然是0。

public class PurposefulWanderer extends Blob {
private int TOTAL;
private static int current = 0;

public PurposefulWanderer (double x, double y) {
super (x, y);
this.TOTAL = (int) (Math.random()*10)+10;

}

@Override
public void step() {
++current;
// Choose a new step between -1 and +1 in each of x and y
if (current == this.TOTAL)
dx = 2 * (Math.random()-0.5);
dy = 2 * (Math.random()-0.5);
x += dx;
y += dy;
current = 0

}

}

最佳答案

if (current == this.TOTAL) 
dx = 2 * (Math.random()-0.5);
dy = 2 * (Math.random()-0.5);
x += dx;
y += dy;
current = 0

您的代码在 if 语句后缺少大括号。 if 语句现在仅适用于其后的第一行。每次调用该方法时都会执行其他所有内容。 包括将电流设置为零的行。

我猜你在尝试完成这项工作时添加了 static 限定符? :) 您现在可以将其删除。它会导致变量与 PurposefulWanderer 的所有实例共享,当您有多个实例时会导致错误。

关于java - 如何计算一个方法被调用的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56580854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com