tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
17
ZUGRIFFE
542
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Zitat Zitat von Anfänger86 Beitrag anzeigen
    ahhhh, nein ich füge doch überhaupt nix ein.. da steht nix mit insertElementAt.... überhaupt nix.. ich lösche doch nur raus wenn mit ja bestätigt wird...
    Tut mir Leid, aber du rufst die removeElementAt()-Methode 2x auf.
    Die, welche ich dr gepostet habe, ist dein 2. Aufruf, welcher sich bei dir in der Methode eintragBearbeiten() wiederfindet. Ich bin davon ausgegangen, dass es die ist... Aber im Endeffekt ist es bei beiden Aufrufen das gleiche Problem! Von dem insertElementAt() mal abgesehen. Du kommst bei beiden Möglichkeiten die Exception, wenn indexOf() -1 zurückgibt, so wie dein Code aussah, auch wenn es bei dir bisher nur an der einen Stelle aufgetreten ist.

    PS.: Gut gemeinter Rat von mir, man kann auch zu viel Kommentieren. Zu viele Kommentare machen Code schnell unübersichtlich.
    Geändert von HonniCilest (28.06.10 um 21:42 Uhr)
    Anfänger86 bedankt sich. 
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  2. #17
    Anfänger86 Anfänger86 ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    14
    ja das kommentieren.. dafür kann ich nix.. ich muss jede zeile kommentieren.. ist pflicht ... finde das auch nicht grad sinnig
     

  3. #18
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Ach herje, Pflicht? Kommentieren ist gut, aber nicht jede Zeile... Sowas sollte man anzeigen
    Ich habe aus langeweile mal ein wenig am Code herumgebaut
    Falls du Lust hast, kannst du es ja mal mit deinem vergleichen, eventuell Dinge übernehmen oder auch in Frage stellen

    Natürlich habe ich für mich alle Kommentare entfernt, da ich den Code, so wie er ist, sehr verständlich finde! Soll ein Lob an dich sein

    Die Routine einen Eintrag zu finden habe ich in eine Funktion ausgelagert, da es nicht sinnig ist den gleichen Code mehrmals zu erfinden. Dies könnte man sicherlich auch noch mit anderen Routinen tun...
    Eintrag finden schließt bereits aus, dass indexOf -1 werden kann, wodurch die if-Abfrage wegfällt.
    Die Menü-Aufrufe sind weggefallen, sowie fertig im Menü selbst.
    Jede Funktion erfordert eine Entereingabe um ins Menü zurückzukehren.
    Eine Handvoll Konsolenausgaben wurden editiert, gelöscht oder hinzugefügt.
    usw.

    Code java:
    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
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Enumeration;
    import java.util.Vector;
     
    public class Telefonliste {
         public BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
         public Vector<Telefonlisteneintrag> telefonliste;
          
            public Telefonliste() {
                    telefonliste = new Vector<Telefonlisteneintrag>();
                    telefonliste.addElement(new Telefonlisteneintrag("Tina Müller", "0451/598547"));
                    telefonliste.addElement(new Telefonlisteneintrag("Klaus Fuchs", "0587/45796"));
                    telefonliste.addElement(new Telefonlisteneintrag("Silke Rommel", "0587/578512"));
                    telefonliste.addElement(new Telefonlisteneintrag("Franz Kluftlocher", "0785/98745"));
            }
            
            public Telefonlisteneintrag findeEintrag(String name) {
                for (Telefonlisteneintrag teleEintrag : telefonliste) {
                    if(teleEintrag.name.equals(name)){
                        return teleEintrag;
                    }
                }
                return null;
            }
            
            public Telefonlisteneintrag findeEintrag2(String nummer) {
                for (Telefonlisteneintrag teleEintrag : telefonliste) {
                    if(teleEintrag.nummer.equals(nummer)){
                        return teleEintrag;
                    }
                }
                return null;
            }
     
            public void menü(){
                 while(true) {
                    System.out.println("\nTelefonliste: ");
                    System.out.println("[1] Alle Eintraege anzeigen");
                    System.out.println("[2] Eintrag anlegen");
                    System.out.println("[3] Eintrag löschen");
                    System.out.println("[4] Eintrag bearbeiten");
                    System.out.println("[5] Person suchen");
                    System.out.println("[6] Nummer identifizieren");
                    System.out.println("[0] Ende\n");
     
                    try {
                        String eingabe = stdin.readLine();
                        if (eingabe.equals("0")) System.exit(0);
                        else if (eingabe.equals("1")) alleAnzeigen();
                        else if (eingabe.equals("2")) eintragAnlegen();
                        else if (eingabe.equals("3")) eintragLöschen();
                        else if (eingabe.equals("4")) eintragBearbeiten();
                        else if (eingabe.equals("5")) personSuchen();
                        else if (eingabe.equals("6")) nummerIdentifizieren();
                        else System.out.println("Ungültige Eingabe.");
                    }
                    catch (IOException ex) {
                        System.out.println("Fehler bei der Eingabe.");
                    }
                 }
              }
     
            public void alleAnzeigen() {
                    if (!telefonliste.isEmpty()) {
                        Enumeration<Telefonlisteneintrag> num = telefonliste.elements();
                        while(num.hasMoreElements()) System.out.println(num.nextElement());
                    }
                    else System.out.println("Kein Eintrag vorhanden.");
                    System.out.println("Taste drücken, um ins Menü zurückzukehren.");
                    try {
                        stdin.readLine();
                    }
                    catch(IOException ex) {
                        System.out.println("Fehler bei der Eingabe.");
                    }
            }
     
            public void eintragAnlegen() {
                System.out.println("Zum Menü mit [0]");
                try {
                    System.out.print("Namen eingeben: ");
                    String name = stdin.readLine();
                    if(name.equals("0")) return;
                    System.out.print("Nummer eingeben: ");
                    String nummer = stdin.readLine();
                    if(name.equals("0")) return;
                    telefonliste.addElement(new Telefonlisteneintrag(name, nummer));
                    System.out.println("Neuer Eintrag: " + telefonliste.elementAt(telefonliste.size()-1));
                    System.out.println("Enter drücken, um ins Menü zurückzukehren.");
                    stdin.readLine();
                }
                catch(IOException ex) {
                    System.out.println("Fehler bei der Eingabe.");
                }
            }
     
            public void eintragLöschen() {
                System.out.println("Zum Menü mit [0]");
                try {
                    System.out.print("Namen eingeben: ");
                    String name = stdin.readLine();
                    if(name.equals("0")) return;
                    Telefonlisteneintrag eintrag = findeEintrag(name);
                    if(eintrag == null) {
                        System.out.println("Konnte Eintrag nicht finden, kehre zurück zu Menü...");
                        return;
                    }
                    int indexW = telefonliste.indexOf(eintrag);
                    System.out.println(telefonliste.elementAt(indexW));
                    System.out.println("Löschen? ja/nein");
                    name = stdin.readLine();
                    if(name.equals("0")) return;
                    else if(name.toLowerCase().equals("ja") || name.toLowerCase().equals("j")) {
                        telefonliste.removeElementAt(indexW);
                        System.out.println("Eintrag gelöscht.");
                    }
                    else if(name.toLowerCase().equals("nein") || name.toLowerCase().equals("n")) System.out.println("Eintrag nicht gelöscht.");
                    else System.out.println("Ungültige Eingabe");
                    System.out.println("Enter drücken, um ins Menü zurückzukehren.");
                    stdin.readLine();
                }
                catch (IOException ex) {
                    System.out.println("Fehler bei Eingabe.");
                }
            }
     
            public void eintragBearbeiten() {
                System.out.println ("Zum Menü mit [0]");
                try {
                    System.out.print("Namen eingeben: ");
                    String name=stdin.readLine();
                    if(name.equals("0")) return;
                    Telefonlisteneintrag eintrag = findeEintrag(name);
                    if(eintrag == null) {
                        System.out.println("Konnte Eintrag nicht finden, kehre zurück zu Menü...");
                        return;
                    }
                    int indexW = telefonliste.indexOf(eintrag);
                    System.out.println(telefonliste.elementAt(indexW));
                    System.out.print("Neuer Name: ");
                    name= stdin.readLine();
                    if(name.equals("0")) return;
                    System.out.print("Neue Nummer: ");
                    String nummer=stdin.readLine();
                    if(name.equals("0")) return;
                    telefonliste.set(indexW, new Telefonlisteneintrag(name, nummer));
                    System.out.println("Neuer Eintrag: " + telefonliste.elementAt(indexW));
                    System.out.println("Enter drücken, um ins Menü zurückzukehren.");
                    stdin.readLine();     
                  }
                  catch (IOException ex) {
                      System.out.println ("Fehler bei Eingabe.");
                  }
              }
     
            public void personSuchen() {
                    System.out.println("Zum Menü mit [0]");
                    try {
                        System.out.print("Namen eingeben: ");
                        String name = stdin.readLine();
                        if(name.equals("0")) return;
                        Telefonlisteneintrag eintrag = findeEintrag(name);
                        if(eintrag == null) {
                            System.out.println("Konnte Eintrag nicht finden, kehre zurück zu Menü...");
                            return;
                        }
                        int indexW = telefonliste.indexOf(eintrag);
                        System.out.println(telefonliste.elementAt(indexW));
                        System.out.println("Enter drücken, um ins Menü zurückzukehren.");
                        stdin.readLine();
                    }
                    catch (IOException ex) {
                        System.out.println("Fehler bei Eingabe");
                    }
            }
     
            public void nummerIdentifizieren() {
                    System.out.println("Zum Menü mit [0]");
                    try {
                        System.out.print("Nummer eingeben: ");
                        String nummer = stdin.readLine();
                        if(nummer.equals("0")) return;
                        Telefonlisteneintrag eintrag = findeEintrag2(nummer);
                        if(eintrag == null) {
                            System.out.println("Konnte Eintrag nicht finden, kehre zurück zu Menü...");
                            return;
                        }
                        int indexW = telefonliste.indexOf(eintrag);
                        System.out.println(telefonliste.elementAt(indexW));
                        System.out.println("Enter drücken, um ins Menü zurückzukehren.");
                        stdin.readLine();
                    }
                    catch (IOException ex) {
                        System.out.println("Fehler bei Eingabe.");
                    }
           }
     
            public static void main (String[] args) throws IOException {
                new Telefonliste().menü();
            }
    }
    Geändert von HonniCilest (28.06.10 um 23:12 Uhr)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

Ähnliche Themen

  1. Fehler suchen - Registrierung
    Von oldputz1990 im Forum PHP
    Antworten: 12
    Letzter Beitrag: 23.06.07, 17:11
  2. Fehler suchen....
    Von oldputz1990 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 20.05.07, 20:35
  3. Wo muss ich hier den Fehler suchen
    Von son gohan im Forum PHP
    Antworten: 19
    Letzter Beitrag: 09.01.06, 13:15
  4. Problem beim Suchen
    Von disear im Forum PHP
    Antworten: 1
    Letzter Beitrag: 27.03.03, 14:40
  5. Suchen in Mysql ergibt Fehler
    Von mageDSA im Forum PHP
    Antworten: 8
    Letzter Beitrag: 02.09.02, 16:33