getNext() Liste Liée

Je suis vraiment nouveau à Java et StackOverflow merci donc de ne pas être méchant. Je voudrais vraiment l'apprécier un peu d'aide. Je vous remercie à l'avance.

J'ai l'impression que c'est vraiment facile, et j'ai déjà essayé un million de différentes façons, mais il ne fonctionne pas.

Je suis en train de prendre dans un fichier texte et l'enregistrer dans une liste, et j'essaye d'accéder à la troisième noeud de cette liste liée. Pour une raison quelconque, je peux accéder à la premier nœud, alors je peux utiliser le getNext() la commande pour aller vers le nœud suivant, mais lorsque j'essaie d'utiliser getNext() pour aller à la troisième nœud, elle continue à renvoyer le second nœud. Donc il ne va pas à la troisième nœud.
Suis-je en manque quelques clés de concept? Aussi laissez-moi savoir si vous avez besoin de plus d'informations.

Le fichier texte qui a été adoptée est la suivante:
5
A B C D E
A B //C'est la ligne que je veux
B C
B D
C D
C E
D E

Voici la partie de mon code:

public static void main(String[] args) throws IOException{
/**
* Check whether the user types the command correctly
*/
if (args.length != 1)
{
System.out.println("Invalid input");
System.out.println(args.length);
System.exit(1);
}
String filename = args[0];
Scanner input = new Scanner (new File(filename));
LinkedList<String> linkedList= new LinkedList<String>();
while(input.hasNext())
{
linkedList.addToRear(input.nextLine());
}
LinearNode<String> link= linkedList.firstLink;
String temp = " ";
link.getNext();
temp = (String)link.getElement();
String[] numofVerticesArray = temp.split(" ");
int numOfVertices = Integer.parseInt(numofVerticesArray[0]);
int lineNumber = 1;
String [] arrayOfVertices; 
LinearNode<String> secondLine = link;
String temp2;
for (int i=0; i <= lineNumber; i++)
{
secondLine = link.getNext();
}
lineNumber = 2;
temp2 = (String)secondLine.getElement();
arrayOfVertices = temp2.split(" ");
int[][] adjMatrix = new int[numOfVertices][numOfVertices];
LinearNode<String> edgeLine = link;
String [] arrayOfEdge;
int rowCount = 0;
int columnCount = 0;
String temp3;
lineNumber = 2;
for (int i=0; i <= lineNumber; i++)
{
edgeLine = link.getNext();
System.out.print((String)edgeLine.getElement());
//When this is printed out, the second node's 
//content is printed out, not the third node
}
lineNumber++;
temp3 = (String)edgeLine.getElement();
arrayOfEdge = temp3.split(" ");
  • Globalement, je dirais proposons d'examiner les concepts et d'essayer de réécrire le programme à partir de zéro(il serait de bonne pratique pour vous). Aussi garder à l'esprit que si vous appelez getNext alors assurez-vous de le stocker quelque part et s'en souvenir. Dans votre code chaque fois que vous appelez getNext vous garder en permanence sur l'oubli de la getNext valeur
InformationsquelleAutor user3023346 | 2013-11-22