Я создаю программу для создания дерева Хаффмана. Когда я добираюсь до строки 31 (node [i] = setFreq (freq);), мой компилятор возвращает ошибку «не может найти символ», символ «метод setFreq (int)», а местоположение «class Huffman». Насколько я могу судить, узел [i] правильно инициализируется как NodeType, но не возвращается к классу упомянутой строки. Ниже приведен раздел моего кода, который должен быть всем, что необходимо (извинения, если это не так). Входная таблица будет линейной после строки буквенной частоты, то есть: A-3 B-32 C-23 и т. Д. Благодарим за любую помощь заранее.Невозможно найти символ между классами
import java.io.*;
import java.util.*;
public class Huffman{
final static int MAXBITS = 138;
final static int MAXSYMBS = 138;
final static int MAXNODES = 255;
public static void Huffman(){
CodeType cd = new CodeType();
CodeType code[] = new CodeType[MAXSYMBS];
NodeType node[] = new NodeType[MAXNODES];
int i, k, p, o, q, root, freq;
DynamicList rootNodes = new DynamicList();
char symb;
char alph[] = new char[MAXSYMBS];
for (i=0; i<MAXSYMBS; i++){
alph[i] = ' ';
}
try (BufferedReader br = new BufferedReader(new FileReader("HuffmanTable.txt"))){
String line;
i=0;
while ((line = br.readLine()) != null){
String[] parts = line.split("-");
node[i] = new NodeType();
String trick = parts[0];
symb = trick.charAt(0);
freq = Integer.parseInt(parts[1]);
node[i] = setFreq(freq);
rootNodes.pqInsert(new SmallNode(i, freq));
alph[i] = symb;
i++;
}
}
}
А класс NodeType
public class NodeType{
private int freq;
private int father;
private boolean isLeft;
public NodeType(){}
public void isLeft(boolean fact){
isLeft = fact;
}
public boolean isLeft(){
return isLeft;
}
public void setFreq(int fr){
freq = fr;
}
public int getFreq(){
return freq;
}
public void setFather(int fath){
father = fath;
}
public int getFather(){
return father;
}
}