Поэтому я пытаюсь сделать программу, которая находит MST. Чтобы построить график, я использую набор ребер и читаю график из файла, используя этот код:
import edu.princeton.cs.algs4.*;
class MyEdgeWeightedGraph {
private final int V;
private final int E;
private Bag<MyEdge> edges;
public int V() {
return V;
}
public int E() {
return E;
}
public Iterable<MyEdge> edges() {
return edges;
}
public MyEdgeWeightedGraph(In in) {
int E = in.readInt();
int V = in.readInt();
if (E < 0) {
throw new IllegalArgumentException("Number of edges must be nonnegative");
}
for (int i = 0; i < E; i++){
int v = in.readInt();
int w = in.readInt();
long weight = in.readLong();
MyEdge e = new MyEdge(v, w, weight);
edges.add(e);
}
}
}
Поскольку я использую пакет ребер, я использую класс пакета (отсюда и метод добавления): http://algs4.cs.princeton.edu/code/edu/princeton/cs/algs4/Bag.java.html
Проблема в том, что всякий раз, когда я его компилирую, он говорит «ошибка: переменная V, возможно, не была инициализирована» для строки 32. Теперь, поскольку метод MyEdgeWeightedGraph вызывает метод добавления в классе сумки, ему не нужен оператор возврата, так как пришел, я продолжаю получать эту ошибку?