我從eclipse調試器中收到以下錯誤:local variable unavailable。 試圖儘可能地修剪代碼。問題很簡單,我必須使用Divise類中的DivisiveUI UpdateLog()方法,使用Cluster類中的變量。 Divise有一個包含所有集羣的列表。分裂和分裂UI有相互之間的關係。我如何能夠訪問Divisive類中的變量:sumDistance,avgDistance? 試圖在Divisive類中編寫方法,仍然無法訪問所需的變量: 謝謝!java本地變量不可用
在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);
}
}
DivisiveUI:
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;
}
哪行代碼導致錯誤?你能顯示實際的完整錯誤文本嗎? – 2013-04-06 12:57:28
你無處可初始化'log'變量.. !! – 2013-04-06 13:10:59
我說我剪了代碼+如果它沒有被初始化,我不會得到一個無法訪問變量的錯誤。 – MustSeeMelons 2013-04-06 13:17:54