有没有理解java代码?

时间:2010-11-15 15:56:41

标签: java

我不明白这段代码可以解释一下我

gridint[][] distbest已初始化

double distbest
int turn = 60;
if (g > 1)
   this.grid = turn(distbest * turn).grid;
else
   this.grid = turn(-distbest * turn).grid;

3 个答案:

答案 0 :(得分:3)

代码很简单,那么你不理解它呢?

或许令人困惑的是,turn兼容变量名和方法名 - turn(distbest * turn)是方法调用,返回对象的grid字段是已分配给this.grid

答案 1 :(得分:1)

turn类型的int变量外,还必须有一个int[][] turn(double)方法未显示。将方法命名为与变量相同通常被认为是不好的做法,因为它会导致您遇到的混淆类型。如果可能,考虑重命名变量或方法。

答案 2 :(得分:0)

本节:

turn(distbest * turn)

表示有一个函数turn返回一个对象,其中包含grid,它将double作为参数。代码中没有显示的是返回类型。

因此,我可以说,该函数被声明为类似

Grid turn(double d);

其中Grid(虚构)的public属性为int[][] grid(这就是turn(distbest * turn).grid可能的原因)。

我基于上面列出的示例代码完成所有这些操作。另一个turn是一个参数。