Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 尝试从作为Pair类的自定义对象创建二维数组。韩元';不编译_Java - Fatal编程技术网

Java 尝试从作为Pair类的自定义对象创建二维数组。韩元';不编译

Java 尝试从作为Pair类的自定义对象创建二维数组。韩元';不编译,java,Java,因此,我试图创建一个2D节点数组,基本上是2D绘图坐标。可以说,第一列(即[0][0]、[1,0]…)将是head元素,而它后面同一行中的所有点都是链接到第一个点的后续点。在此基础上,我实现了一些简单的搜索算法。我创建的类(MyPair)只接受两个参数aVal和bVal,它们都是int。但是,我不知道如何将这些自定义对象放置在二维数组中而不产生编译错误。下面是一段代码 public class GraphNodes { public MyPair[][] graphNodes; pub

因此,我试图创建一个2D节点数组,基本上是2D绘图坐标。可以说,第一列(即[0][0]、[1,0]…)将是head元素,而它后面同一行中的所有点都是链接到第一个点的后续点。在此基础上,我实现了一些简单的搜索算法。我创建的类(MyPair)只接受两个参数aVal和bVal,它们都是int。但是,我不知道如何将这些自定义对象放置在二维数组中而不产生编译错误。下面是一段代码

    public class GraphNodes {
public MyPair[][] graphNodes;

public GraphNodes(){
    this.graphNodes = new MyPair[][] 
            {{(0,0), (1,0), (0,1)},
            {(0,1), (0,0), (1,1), (0,2)},
            {(0,2), (0,3), (0,1)},
            {(0,3), (0,2), (0,4)},
            {(0,4), (0,3), (0,5)},
            {(0,5), (0,6), (1,5), (0,4)},
            {(0,6), (1,6), (0,5)},
            {(1,0), (0,0), (1,1), (2,0)},
            {(1,1), (1,2), (2,1), (1,0), (0,1)},
我原以为这样做是可行的,但我得到一个错误,在eclipse中赋值的左侧必须是一个变量。有什么想法吗?

(0,0)
编译器无法自动将其转换为您的
MyPair

您必须调用构造函数,例如
newmypair(0,0)
(假设您有这样的构造函数)


如果你有这样一个构造函数,你可以用新的MyPair(x,y)替换你代码中的任何
(x,y)
,,

你能给我们发一个完整的类吗?你只是不能做任何与你在这里尝试过的类似的事情。。。寻找2D阵列教程,这从开始到结束都是完全错误的:)。我知道我只是有一段时间没有编写代码了,我犯了我知道的非常愚蠢的错误。基本上,我只是想把这个巨大的列表作为我的广度优先搜索类的测试。只是想知道什么是最简单的方法。如果需要的话,我可以改为arraylist实现。我想一定有一种更快的方法来做这样的事情?2D列表可能是更好的解决方案吗?@PhillOliver如果MyPair类中没有逻辑,可以用int数组替换它。然后,您的
MyPair[][]
2D数组将成为一个
int[][][]
3D数组,其第三维有2个整数。@PhillOliver如果必须使用MyPair类,则必须使用构造函数创建实例。使用列表而不是数组不会改变这一点。基本上,对类型只是绘制坐标,所以可以这样做。有一些方法,但很容易被覆盖。我可能得试试