Eclipse デバッガーから次のエラーが表示されます: ローカル変数を使用できません。可能な限りコードをトリミングしようとしました。問題は非常に単純です。Cluster クラスの変数を使用して、Divise クラスの DivisiveUI UpdateLog() メソッドを使用する必要があります。Divise には、すべてのクラスターを含むリストがあります。Divisive と DivisiveUI は相互に参照しています。Divisive クラスから変数: sumDistance、avgDistance にアクセスするにはどうすればよいですか? Divisive クラスでメソッドを作成しようとしましたが、必要な変数にアクセスできませんでした :| ありがとうございました!
log.append(text+"\n"); でのエラー トリミング ソースが見つかりません。
分割:
package clusters;
import java.util.LinkedList;
public class Divisive implements Runnable
{
LinkedList<Record> mainTable;
LinkedList<Cluster> clusterList;
int meassureType;
DivisiveUI parent;
int clusterCount;
Divisive(LinkedList<Record> mainTable, DivisiveUI parent)
{
this.parent=parent;
this.mainTable=new LinkedList<Record>(mainTable);
setMeassureType(0);
}
}
分割UI:
package clusters;
@SuppressWarnings("serial")
public class DivisiveUI extends JPanel implements Runnable{
ClusteringSelection parent;
Divisive divisive;
JTextField clusterCount;
JTextArea log;
public void UpdateLog(String text)
{
log.append(text+"\n");
log.setCaretPosition(log.getDocument().getLength());
}
}
集まる:
package clusters;
public class Cluster
{
LinkedList<Record> table;
LinkedList<MatrixRow> matrix;
LinkedList<Double> center;
double sumDistance;
double avgDistance;
int meassureType;
}