我不明白这段代码可以解释一下我
grid
是int[][]
distbest
已初始化
double distbest
int turn = 60;
if (g > 1)
this.grid = turn(distbest * turn).grid;
else
this.grid = turn(-distbest * turn).grid;
答案 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
是一个参数。