私は基本的な画像操作プログラムで作業しています。現在、3つのクラス:頂点、グラフ、および操作を持っています。見てわかるように、グラフの作成時に、2次元アレイは、適切な隣接共有色でステータスが割り当てられている頂点オブジェクトを保持するクラス間に作成された配列を渡す[Java]
public class Vertex{
//Vertex functions, including tracking neighbours
}
public class Graph{
Vertex[][] aVertices;
public Graph(Color[][] image){
int xTop = 0;
for (int i = 0; i < image.length; i++){
if (i > xTop){
xTop = i;
}
}
int yTop = image.length;
Vertex[][] aVertices = new Vertex[xTop][yTop];
for(int i = 0; i < xTop; i++){
for(int j = 0; j < yTop; j++){
Vertex newVertex = new Vertex(i, j, image[i][j]);
aVertices[i][j] = newVertex;
}
}
for(int i = 0; i < xTop; i++){
for(int j = 0; j < yTop; j++){
if(aVertices[i][j] == aVertices[i-1][j]){
aVertices[i][j].neighbourize(aVertices[i-1][j]);
}
if(aVertices[i][j] == aVertices[i+1][j]){
aVertices[i][j].neighbourize(aVertices[i+1][j]);
}
if(aVertices[i][j] == aVertices[i][j-1]){
aVertices[i][j].neighbourize(aVertices[i][j-1]);
}
if(aVertices[i][j] == aVertices[i][j+1]){
aVertices[i][j].neighbourize(aVertices[i][j+1]);
}
}
}
}
}
public class Manipulations{
//Image manipulations that access aVertices
}
作成されます。私は今、この全体を1つの操作に取り込み、操作の中で作業したいと思いますが、適切な範囲内でどのように移動するのかは本当にわかりません。誰かが正しい方向に私を指すことができるだろうか?
注意して
aVertices
を得ることができます。私はあなたが2つの違いとあなたのためにどのように問題を引き起こすかを学ぶことをお勧めします。 (注1は**フィールド変数**であり、もう1つは**ローカル変数**です。これらの2つの用語は、より多くの情報を見つけるのに役立ちます) –どのように各クラスのオブジェクトを作成しますか? –