tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
491
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Hi Leute ,

    ich brauche wieder mal eure hilfe.

    Undzwar muss ich ein Projekt machen so ähnlich wie die deutschbahn wo ich mein Abfahrtstation und die Zielstation eingeben kann. Als Endprodukt soll denn in einem Textarea die Abfahrtstation + auch die zwischen Station anzeigen + Zielstation + die Reisedauer angezeigt werden.

    So meine frage ist jetzt, kann man in einem Linkedlist durch eingabe in einem Textfield die bestimmten station suchen und in einem Textarea anzeigen lassen. Und außerdem will ich auch noch die Zeit berechnen lassen. z.B. will gebe ich in dem Textfield Hamburg ein und will nach Frankfurt. In dem Textarea soll er mir anzeigen welche die kürzeste route ist und wie lange die reise dauren soll.

    Hier meine LinkedList

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    
    package linklist;
     
    import java.util.*;
     
     
    public class SLinkedList {
     
        protected StringNode head;
        public  SLinkedList() {
            head = new StringNode();
        }
     
        public static void main(String[] args) {
      
          SLinkedList greenline = new SLinkedList();
              greenline.addFirst("Hamburg",500);
              greenline.addMid("Berlin",300,"Hamburg");
              greenline.addMid("Stuttgard",600,"Berlin");
              greenline.addMid("Köln",200,"Stuttgard");
              greenline.addMid("Düsseldorf",100,"Köln");
              greenline.addMid("Kiel",700,"Düsseldorf");
              greenline.addMid("München",900,"Kiel");
              greenline.addMid("Potsdam",550,"München");
              greenline.addLast("Dortmund");
              printList(greenline);
     
               SLinkedList yellowline= new SLinkedList();
              yellowline.addFirst("Hannove",230);
              yellowline.addMid("Bielefeld",150,"Hannove");
              yellowline.addMid("Frankfurt",250,"Bielefeld");
              yellowline.addMid("Bremen",350,"Frankfurt");
              yellowline.addMid("Magdeburg",460,"Bremen");
              yellowline.addLast("Nürnberg");
              printList(yellowline);
     
     
        }
     
        //add a new node to the head of the list
        private void addFirst(String element,int distance) {
            // make variable head point to new node
            head = new StringNode(element,distance,head);
        }
     
        private void addLast(String element) {
            StringNode tail;
            tail = head;
            while (tail.getNext() != null) {
                tail = tail.getNext();
                }
            //insert new node at end of list
            tail.setNext( new StringNode(element));
        }
     
        //add a new node after position of curnode
        private void addMid(String element,int distance ,String entryafter) {
            StringNode curnode;
            curnode = head;
            //go to last node and remember previous node at all times
            while (curnode != null && curnode.getElement() != entryafter) {
                curnode = curnode.getNext();
                }
            //if first occurrence of element entryafter was located then insert new node
            if (curnode != null) {
                StringNode newnode = new StringNode(element,distance,curnode.getNext());
                curnode.setNext(newnode);
                }
        }
     
        private boolean isEmpty() {
            return  head == null;
        }
     
        private void removeFirst() {
            StringNode oldhead;
            oldhead = head;
            //remove first node from linked list
            if (head != null) {
               head = head.getNext();
               oldhead.setNext(null);
               }
            else {
               throw new NoSuchElementException();
               }
        }
     
        private void removeLast() {
            StringNode temp, previous;
            temp = head;
            previous = temp;
            //go to last node and remember previous node at all times
            while (temp != null && temp.getNext() != null) {
                previous = temp;
                temp = temp.getNext();
                }
            if (previous != null) {
               //remove last node
               previous.setNext(null);
               }
            else {
               throw new NoSuchElementException();
               }
        }
     
        //very similar to removeLast except we are looking for element i
        private void removeMid(String element) {
            StringNode temp, previous;
            temp = head.getNext();
            previous = null;
            //go to node containing element and rermember previous node at all times
            while (temp.getElement() != element && temp.getNext() != null) {
                previous = temp;
                temp = temp.getNext();
                }
            if (previous != null && temp.getNext() != null) {
               //not first or last node so we can remove node defined by temp.
               // set the previous node to that after temp
               previous.setNext(temp.getNext());
               temp.setNext(null);
            }
            else {
               throw new NoSuchElementException();
               }
        }
        public static void printList(SLinkedList thelist) {
            StringNode temp;
            if(thelist.isEmpty())
                System.out.println("List is empty");
            else {
                temp = thelist.head;
                while (temp != null) {
                   System.out.println(temp.getElement()+" "+temp.getDistance());
                   temp = temp.getNext();
                }
                System.out.println();
            }
        }
     
    }
     

  2. #2
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    for (int i = 0; i < STRINGARRAY.length; i++) {
      if (textarea.getText.equals(STRINGARRAY[i]) {
    //    do code vllt könnte man auch matches() nehmen, wenn es auch bei einem teil gesucht werden sol
    //    und das solltest du, bei einer live-aktualisierung in einen keylistener packen
    //    du weißt ja wie lange man von wo braucht und wo lang man fährt von a nach b. so kannst ud die 
    //    zeit berechnen.
      }
    }
     

  3. #3
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Ich habe jetzt nicht verstanden was du mit StringArray meinst. Dies ist doch eine LinkedList****
    Und wie soll ich die Zeit berechnen.Ok ich weis wo ich lang fahre und wie lange ich brauche aber ich weis nicht wie ich das berechnen lasse
     

  4. #4
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    mit stringarray meinte ich eben ein stringarray in dem alle suchbegriffe stehen
    und wie du die strecke berechnest, naja es wird ja nur bestimmte wege geben.
    z.b. wer von hannover nach münchen fährt fährt immer über bestimmte orte, also solltest du steckenobjete erstellen, aus diesen solltest du dann überprüfen können wos lang geht. ein streckenobjet sollte eine methode enthaeltStationen(START, ENDE) (start und ende sind die user eingaben), so könntest du es überprüfen
     

  5. #5
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Was bringt es denn wenn ich es alles in eine Array speicher ?Dann brauch ich die LinkedList ja garnicht
     

  6. #6
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    ganz ehrlich, ich habe die linkedlist noch nie benutzt, aber was ist denn so toll daran? du wirst deine strecken wahrscheinlich eh aus einer datenbank auslesen, da sich bei solchen projeten strecken ja dauernd ändern können. also, welchen vorteil bringt die linkedlist?
     

  7. #7
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Ja die sache ist wir sollen es in einem LinkedList Speichern.So ist die voraussetzung
     

  8. #8
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    ja naja wenn du es wohl unbeding mit einer linkedlist machen musst, dann lies es aus der linked list aus anstatt aus einem String[]
     

  9. #9
    Code46 Code46 ist offline Mitglied Gold
    Registriert seit
    Sep 2008
    Beiträge
    184
    Ja ich habe aber 3 linkedList ? Soll ich die denn einzelnt aufrufen.

    for (int i = 0; i < SLinkedList.length; i++) {
    if (textarea.getText.equals(SLinkedList[i]) {
     

  10. #10
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    for (int i = 0; i < linkedlistArray.length; i++) {
      for (int i2 = 0; i2 < linkedlistArray[i2]; i2++) {
        if (textarea.getText.equals(linkedlistArray[i2][i]) {
          //code
        }
      }
    }
    forschleifenverkettung gehört eig zu den grundkenntnissen, du solltest das eine oder andere nochmal nachlesen...
     

Ähnliche Themen

  1. Inhalt von JTextField an 2. Klasse übergeben
    Von Masterpurzel im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 09.11.10, 09:45
  2. JTextField - Inhalt abholen
    Von mr_waiter im Forum Java Grundlagen
    Antworten: 3
    Letzter Beitrag: 11.10.08, 13:07
  3. JTextField - Inhalt markieren
    Von Java_Neuling im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 6
    Letzter Beitrag: 08.10.07, 08:08
  4. DB Inhalt in JTextField
    Von The_Answer1985 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 9
    Letzter Beitrag: 17.08.07, 08:45
  5. immer Problem mit Eingabe durch JTextField und JTree
    Von zz0312 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 7
    Letzter Beitrag: 03.02.05, 10:55