gpt4 book ai didi

java - 将二维数组传递给另一个类 : Java

转载 作者:行者123 更新时间:2023-12-01 15:19:11 25 4
gpt4 key购买 nike

我想创建一个二维数组,它可以在两个不同的类中用于两个不同的目的。假设我有一个 int 的二维数组,例如

int[][] grid = {{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1}};

这个 2D 数组的第一个目的是填充缓冲图像作为 2d 游戏的一部分(缓冲图像代表岩石层。

现在可以说我想使用完全相同的 2D 数组来定义数据结构,这将允许我为 AI 创建一个搜索函数,基本上使用 A* 算法我希望能够使用以下命令分配 2D 数组中的每个位置移动的“成本”。我的目标是创建一个高效的 2D java 游戏,并且在尝试做某事时不会重新发明轮子。我的问题的希望是能够在一个类中声明一个 2D 数组,并使用相同的 2D 数组来做两件事,为该数组中的每个元素分配一个数字,这样我就可以计算旅行的成本并使用 2D数组以在该数组的每个元素上显示相同的图像。

以下是我到目前为止所做的事情。

import java.util.*;

public class Map {

boolean goal_Position = false;
boolean start_Position = false;
List neighbors = new ArrayList();

public int createGrid(int x, int y) {
int[][] grid = {{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1}};
return grid[x][y];
}

}

public class MainMap {

public void soemthing(){
Map m = new Map();
for(int i = 0; i < createGrid[][].length; i++){
for(int j = 0; j < createGrid[][].length; j++){

}
}
}
public static void main(String something[]){

System.out.print(""+soemthing());

}
}

我希望我的问题不是含糊或不连贯,希望有一个可以用于不同事物的数组。我知道他们的代码在最后几行不起作用:

for(int i = 0; i < createGrid[][].length; i++){
for(int j = 0; j < createGrid[][].length; j++){

}
}

抛出一个类预期错误,我知道当尝试在主方法中返回它时, void 不起作用。如果您能提供这方面的帮助,我们将不胜感激。

最佳答案

为什么不返回数组中的单个元素返回整个数组?像这样:

public int[][] createGrid() {
int[][] grid = {{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1}};
return grid;
}

然后像这样访问它:

Map mapInstance = new Map();
int[][] grid = mapInstance.createGrid();
for(int i = 0; i < grid.length; i++){
for(int j = 0; j < grid[0].length; j++){

}
}

关于java - 将二维数组传递给另一个类 : Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com