计算Object所执行的函数数量

时间:2013-04-11 23:10:49

标签: java

我创建了这个程序/场景。

创建多个机器人,然后从已创建的房间“逃离”。我还创建了一个计数器,用于计算机器人所做的动作然后形成平均值。

我创造了所有这一切,它只是想因某种原因返回0。它没有出现任何错误,所以我觉得我错过了一些明显的东西。

以下是代码的两个部分:

public static double countingMoves;

.
.
.

public void move() {
super.move();
countingMoves++;
}

public int getRobotMoves() {
return countingMoves;
}




int Counter = EscapeBot.countingMoves/10;

1 个答案:

答案 0 :(得分:5)

int Counter = EscapeBot.countingMoves/10;

第一点

你正在划分两个整数,如评论中所述,将得到0,结果是< 0.将其中一种类型转换为double。此过程称为Arithmetic Promotion,其中表达式中的每个元素都将其精度增加到具有最高精度的元素。 E.g:

int / int = int
double / double = double
int / double = double
int + String = String

代码:

double Counter = EscapeBox.countingMoves/10.0;

第二点

Java命名约定规定,非常量的变量或方法的第一个单词必须以小写字母开头。

Counter -> counter

第三,希望最后一点

如果你看一下计算平均值的位置,0.0实际上是正确的。您可以在开始之前计算平均值。

double Counter = EscapeBot.countingMoves/10.0;
// When computed at the start, this equals:
// double Counter = EscapeBot.countingMoves(0)/10.0 = 0/10.0 = 0.0

在任何动作之前来临。通过将其放在代码的末尾,您应该获得更准确的读数。