エッジ、グラフ、ノード、最短パスの4つのクラスがあります。最短パスクラスの静的メインにあるグラフクラスからメソッドを呼び出したい。私が得ているエラーは、「タイプグラフから非静的メソッドreadFile()への静的参照を作成できません」です。私は私が立ち往生している助けをいただければ幸いです:(!
public class edge<E>{}
public class node<E> extends edge<E>{}
public class graph<E> {
public node<E> BFS(E value)
{
if (adjList.isEmpty())
return (null);
ArrayList<node<E>> visitedNodes = new ArrayList<node<E>>();
node<E> sourceNode = adjList.get(0);
sourceNode.setVisited(true);
visitedNodes.add(sourceNode);
node<E> currNode = null;
while(!visitedNodes.isEmpty())
{
currNode = visitedNodes.get(0);
visitedNodes.remove(0);
if(currNode.getData() == value)
return (currNode);
//ListIterator<edge<E>> itr = currNode.incidentEdges.listIterator();
for(node<E> adjNode : adjList)
{
adjNode = adjNode.getChild();
if(!adjNode.isVisited())
{
adjNode.setVisited(true);
visitedNodes.add(adjNode);
}
}
}
return (null);
}
public void readFile()
{
File file = new File("Enron-Email.txt");
try
{
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine())
{
String line = scanner.nextLine();
if(line.trim().startsWith("#"))
{
continue;
}
String[] tokens = line.split("\\t");
Integer parent = Integer.parseInt(tokens[0]);
Integer child = Integer.parseInt(tokens[1]);
addEdge((E) parent, (E) child);
}
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
public class shortestpath{
public static void main(Integer source, Integer dest) {
graph<E> myGraph = new graph<E>();
myGraph.readFile();
myGraph.BFS(source);
}
}