java - 计算对象执行的功能数量

标签 java

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

多个机器人被创建,然后从已创建的房间“逃出”。我还创建了一个计数器来计算机器人的移动次数,然后得出平均值。

我已经创建了这一切,但出于某种原因它只想返回 0。它没有抛出任何错误或类似的信息,所以我觉得我错过了一些明显的东西。

以下是代码的两部分:

public static double countingMoves;

.
.
.

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

public int getRobotMoves() {
return countingMoves;
}




int Counter = EscapeBot.countingMoves/10;

最佳答案

int Counter = EscapeBot.countingMoves/10;

第一点

您正在除两个整数,如注释中所述,如果结果 < 0,则结​​果为 0。将这些类型之一转换为 double 型。这个过程称为Arithmetic Promotion ,其中表达式中的每个元素的精度都增加到精度最高的元素。例如:

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

出现在任何移动之前。通过将其放在代码末尾,您应该可以获得更准确的读数。

关于java - 计算对象执行的功能数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960430/

相关文章:

java - 使用 Mockito 测试 CompletableFuture.supplyAsync

java - 如何解码 apache-httpclient 生成的 ssl 流量?

java - 为 java 插入查询生成器

java - Java 多维数组中的元素修改

java - OpenCV for android 与 openCV for windows 的不同结果

java - 从 Java Spring MVC 3 应用程序访问 Glassfish 文件夹

java - 内部类中有变量

java - 找不到类型的匹配 bean ... 依赖项

java - 安静的服务没有返回正确的对象

java - Apache IOUtils.copyLarge