我很難與二維數組和插入帶有3個參數的對象(int x,int y,int cost) 這是搜索算法的開始,一個非常糟糕的開始。我將粘貼下面的代碼。當我嘗試運行這段代碼時,我收到了一個編譯錯誤,我很確定它很簡單,但我無法解決它。 的地圖2類我打算用於實現主本體的算法,如排序等對象創建並將它們放入二維數組
import java.util.Arrays;
public class Map2 {
public static void main (String args[]){
Points[][] grid = new Points[4][4];
for(int i = 0; i < grid.length; i++){
for(int j = 0; j < grid.length; j++){
grid[i][j] = new Points(i,j,1);
}
}
System.out.print(Arrays.deepToString(grid));
}
}
這個類是我的對象,它包含從一個位置移動到下一個移動成本(下一步顯然是確定鄰居),是的,這是試圖創建一個工作的A星算法的一部分。
public class Points {
int x;
int y;
int movement_cost;
public Points(int iX, int iY, int cost){
x = iX;
y = iY;
movement_cost = cost;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
public int getMovementCost(){
return movement_cost;
}
public void setX(int x){
this.x = x;
}
public void setY(int y){
this.y = y;
}
public void setMovementCost(int cost){
this.movement_cost = cost;
}
public String toString(){
return ""+getX()+ ""+getY()+""+getMovementCost();
}
}
這是編譯(在內存3個的地址空間)
run:[[001, 011, 021, 031], [101, 111, 121, 131],
[201, 211, 221, 231], [301, 311, 321, 331]]
BUILD SUCCESSFUL (total time: 2 seconds)
在這裏,我希望是簡單的,陣列中的每個對象將包含在內存中的座標參考,並讀出後控制檯包含一個移動的成本,這將用於比較,以確定下一個最佳位置(我會稍後實現諸如目標,開始的東西)
我的問題是:什麼是錯的代碼它的方式是什麼?
我要感謝,提前響應任何人作爲你的性反應會永遠感激
我的問題V0.1的當前版本: 哇好感謝您的快速responces,我今天新學到的東西^^那Arrays.deepToString(網格));是我沒有意識到的amasing工具,但是我仍然收到運行時錯誤。再次感謝您的回覆,並再次作出進一步的迴應:)。以上代碼中,建議進行了修訂,但運行時錯誤依然存在
實際上Arrays.toString不會幫助很多,Arrays.deepToString是正確的函數使用,它正確顯示多維數組,toString不完全。 – fvu
@fvu修,謝謝! – dasblinkenlight
嗨,謝謝你們的迴應,他們都是信息豐富的,並且稍微擴展了我對數組的知識,但是我仍然在我的代碼上收到運行時錯誤。我的問題已經修改,以反映您提供的一些建議 –