Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解java代码有问题吗?_Java - Fatal编程技术网

理解java代码有问题吗?

理解java代码有问题吗?,java,Java,我不懂这个密码,你能解释一下吗 grid是一个int[][] distbest已初始化 double distbest int turn = 60; if (g > 1) this.grid = turn(distbest * turn).grid; else this.grid = turn(-distbest * turn).grid; 代码非常简单,所以你不明白怎么办 可能让您感到困惑的是,turn作为变量名和方法名的双重使用-turn(distbest*turn)是一

我不懂这个密码,你能解释一下吗

grid
是一个
int[][]
distbest
已初始化

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

代码非常简单,所以你不明白怎么办


可能让您感到困惑的是,
turn
作为变量名和方法名的双重使用-
turn(distbest*turn)
是一个方法调用,返回对象的
grid
字段被分配给
this.grid

除了
turn
变量是
int
类型外,还必须有
int[][]turn(double)
方法,该方法未显示。通常认为将方法命名为变量是不好的做法,因为它会导致与您所经历的混乱类型完全相同的混乱。如果可能,请考虑重命名变量或方法。

本节:

turn(distbest * turn)
这意味着有一个函数
turn
,它返回一个对象,该对象包含一个以double作为参数的
grid
。代码中没有显示的是返回类型

因此,我可以说,函数的声明类似于

Grid turn(double d);
其中,
Grid
(虚构)具有
public
属性
int[]Grid
(这就是为什么
turn(distbest*turn)。Grid
是可能的)


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

你对它有什么不了解?你对哪一块有问题?是的,我们可以详细解释这段非常基本的代码的每一个部分都做了什么-但是如果你需要的话,你不应该问SO,而应该学习编程的基础知识。你能在你的源代码中找到它吗?这个列表缺少任何人需要分析的大部分内容。我建议发布完整的代码。是的,我刚刚发现它,我有点困惑,因为turn既是变量又是方法。现在很清楚,谢谢。我不知道变量可能有方法名。感谢you@Christophe:语法(特别是方法名称后的大括号)允许编译器区分方法调用和变量使用,因此不必为两者都使用一个命名空间。