tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
392
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    Hallo

    meine Funktion muss ein User Objekt zurückgeben. Außerdem soll sie eine Exception schmeissen, wenn der User nicht gefunden wurde. Wenn das nicht wäre würde ich einfach eine boolsche Funktion schreiben. Aber mit einem simplen contains() kann ich nicht arbeiten, da der User über eine Nummer identifiziert wird.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    public User getUser(String number) throws NoSuchElementException {
         
            Iterator it = userList.iterator();
            
            while (it.hasNext()) {
                User tempUser = (User)it.next();
                if (tempUser.getNumber() == number) {
                    return tempUser;
                }
            }
            throw { // kann man so nicht schreiben
                new NoSuchElementException("Error! User not in database");
            }
    }
    Wie löse ich das am besten? Danke.
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Schau mal hier:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    package de.tutorials;
     
    public class Test17 {
     
        public User getUser(String number) throws Exception {
            User user = //findUser(number);
            if (user == null)
                throw new Exception("No User Found!");
            return user;
        }
     
        class User {
     
        }
    }

    gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    Ok es geht also nur über eine zweite Funktion, ja? In einer gehts nicht? Egal, ich werds so machen. Danke.
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Natürlich geht das auch alles in einer Methode.
    Itereriere über deine userListe und suche nach dem user mit den gewünschten Eigenschaften. Hast du ihn gefunden speicherst du ihn zwischen und beedest die Iteration. Wurde die Iteration beendet prüfst du die Variable in der du den User zwischengespeichert hast auf null. Ist sie null wirfst du eine Exception / Die weitere Methodenausführung wird abgebrochen. Andernfalls returnierst du einfach die Variable in der du den User zwischengespeichert hast. Fertig.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    Registriert seit
    Jul 2001
    Ort
    Bayern
    Beiträge
    969
    Du hast recht. Ich denke immer zu kompliziert .
     

Ähnliche Themen

  1. Einfache Liste , letztes Element
    Von moguai im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 3
    Letzter Beitrag: 13.12.09, 17:52
  2. Antworten: 2
    Letzter Beitrag: 27.04.09, 19:13
  3. Element in einer Liste verschieben
    Von nelly-furatdo im Forum Java
    Antworten: 2
    Letzter Beitrag: 31.05.07, 19:15
  4. Antworten: 10
    Letzter Beitrag: 16.01.04, 13:43
  5. [JAVA] Aus Liste ein Element löschen.
    Von Slider im Forum Java
    Antworten: 2
    Letzter Beitrag: 03.07.03, 15:28