getNext() verkettete Liste

Ich bin wirklich neu auf Java und StackOverflow also bitte nicht gemein sein. Ich würde wirklich zu schätzen einige helfen. Vielen Dank im Voraus.

Ich fühle mich wie das ist wirklich einfach und ich habe schon ausprobiert eine million verschiedene Möglichkeiten, aber es funktioniert nicht.

Ich bin versucht, in eine text-Datei und speichern Sie es in einer verlinkten Liste, und ich versuche, auf dem Dritten Knoten auf der hier verlinkten Liste. Aus irgendeinem Grund kann ich den Zugriff auf den ersten Knoten, dann kann mit der getNext () - Befehl zu gehen, um den nächsten Knoten, aber wenn ich versuche, mit getNext() zu gehen, den Dritten Knoten, geht es zurück dem zweiten Knoten. So ist es nicht zu Dritten Knoten.
Ich bin einfach fehlen einige Schlüssel-Konzept? Auch lassen Sie mich wissen, wenn Sie brauchen mehr Informationen.

Den text-Datei, die getroffen wurden ist:
5
A B C D E
A B //Dies ist die Zeile, die ich will
B C
B D
C D
C E
D E

Hier ist ein Teil von meinem 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(" ");
  • Insgesamt würde ich vorschlagen, die überprüfung der Konzepte und versucht zu umschreiben, dass das Programm von Grund auf neu(es wäre eine gute übung für Sie). Beachten Sie auch, dass, wenn Sie anrufen getNext dann stellen Sie sicher, dass Sie speichern Sie Sie irgendwo, und vergessen Sie es. In Ihrem code, wenn Sie anrufen getNext Sie kontinuierlich zu vergessen die getNext Wert
InformationsquelleAutor user3023346 | 2013-11-22
Schreibe einen Kommentar