2D 配列と、3 つのパラメーター (int x、int y、int コスト) を取るオブジェクトの挿入に問題があります。これは検索アルゴリズムの始まりであり、確かに非常に悪いスタートを切っています。以下にコードを貼り付けます。このコードを実行しようとすると、コンパイル エラーが発生します。これは単純だと確信していますが、解決できません。Map2 クラスは、ソートなどの主要なアルゴリズムを実装するために使用する予定です。
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 の現在の改訂版: 迅速な対応に感謝します。今日、新しいことを学びました ^^ that Arrays.deepToString(grid)); は私が知らなかったすばらしいツールですが、まだランタイム エラーが発生しています。あなたの返信にもう一度感謝し、それ以上の返信にもう一度感謝します:)。上記のコードは推奨どおりに修正されましたが、ランタイム エラーはまだ存在します。