Page 1 of 2 1 2 LastLast
Results 1 to 80 of 142

Thread: Test2: Mustertestangabe

  1. #1
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts

    Test2: Mustertestangabe

    Die Angabe zum 2. Mustertest ist online!

    Fragen zum 2. Mustertest bitte nur hier stellen.

    Link zum Thread über den 1. Mustertest:
    http://www.informatik-forum.at/showt...stertestangabe
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  2. #2
    Elite SoulRiser's Avatar
    Join Date
    Oct 2010
    Posts
    426
    Thanks
    59
    Thanked 47 Times in 36 Posts
    Code:
    /**
         * Fügt eine Playlist unter dem durch name bestimmten 
         * Namen zur Bibliothek hinzu. Falls bereits eine 
         * Playlist mit dem Namen existiert, soll die bestehende 
         * durch die neue (durch playlist angegebene) Playlist 
         * ersetzt werden. 
         *
         * @param name Der Name, unter dem die 
         *     Playlist hinzugefügt werden soll 
         * @param playlist Die Playlist, welche 
         *     hinzugefügt werden soll 
         */
         public void addPlaylist(String name, Playlist playlist) {
    das is ne fangfrage oda? ^^

  3. #3
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Warum ist das eine Fangfrage?
    Das ist der Tipp, dass sich eine Hashmap als Datenstruktur eignet
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  4. #4
    Elite SoulRiser's Avatar
    Join Date
    Oct 2010
    Posts
    426
    Thanks
    59
    Thanked 47 Times in 36 Posts
    Quote Originally Posted by Neveragain View Post
    Warum ist das eine Fangfrage?
    Das ist der Tipp, dass sich eine Hashmap als Datenstruktur eignet
    aso naja weil halt values mit gleichen keys überschrieben werden ^^
    ok naja das mit der hashmap war mir schon vorher klar ^^

  5. #5
    Master
    Join Date
    Nov 2010
    Location
    Wien || OÖ
    Posts
    116
    Thanks
    37
    Thanked 17 Times in 8 Posts
    weils keine dummen fragen gibt..:

    weiß wer wie die im repetitorium gezeigte methode:
    Code:
    public Playlist(Playlist playlist1, Playlist playlist2) {
    		//ab hier erinner ich mich leider nicht mehr genau.. 
    		this(playlist1);
    		for(Song s : playlist1){
    			playlist.addSong(s);
    		}
    		
    		this(playlist2);
    		for(Song s : playlist2){
    			playlist.addSong(s);
    	        }
    		
    
    
    }
    wirklich ausgesehn hat bzw kann mir wer erklären was es mit dem this.() auf sich hat?

  6. #6
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Du rufst damit den Kopierkonstruktor auf.
    Code:
    public Playlist(Playlist original)
    this bezieht sich auf die Instanz von Playlist, in der du dich gerade befindest.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  7. #7
    Master
    Join Date
    Nov 2010
    Location
    Wien || OÖ
    Posts
    116
    Thanks
    37
    Thanked 17 Times in 8 Posts
    ajaaaa... *auf den kopf greif*

    danke.

  8. #8
    Veteran
    Join Date
    Nov 2011
    Posts
    18
    Thanks
    2
    Thanked 1 Time in 1 Post
    Warum funktioniert dies als Kopierkonstruktor nicht irgendwie hänge ich grad komplett

    public Playlist(Playlist original) {


    playlist =new ArrayList<Song>();

    for(Song s : original){
    playlist.addSong(s);
    }


    }

  9. #9
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Was funktioniert daran nicht?
    Wenn du den Aufruf von oben meinst: Du erzeugst eine neue Playlist, daher sind immer nur die Songs aus original enthalten.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  10. #10
    Veteran
    Join Date
    Nov 2011
    Posts
    18
    Thanks
    2
    Thanked 1 Time in 1 Post
    Wenn ich es über die Konsole aufrufe kommt die fehler meldung " foreach not applicable to expression type"

  11. #11
    Baccalaureus sutupud's Avatar
    Join Date
    Nov 2008
    Location
    /home/livingroom
    Posts
    669
    Thanks
    9
    Thanked 176 Times in 146 Posts
    Quote Originally Posted by mautsch View Post
    Warum funktioniert dies als Kopierkonstruktor nicht irgendwie hänge ich grad komplett

    public Playlist(Playlist original) {


    playlist =new ArrayList<Song>();

    for(Song s : original){
    playlist.addSong(s);
    }


    }
    Weil du nicht über Playlist iterieren kannst, sondern - in deinem Fall - über "original.playlist" - also die konkrete Liste der Songs.
    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."
    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  12. #12
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Oh, hups
    Natürlich:
    for (Song s: original.playlist)
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  13. #13
    Veteran
    Join Date
    Nov 2011
    Posts
    18
    Thanks
    2
    Thanked 1 Time in 1 Post
    Ok danke

  14. #14
    Master
    Join Date
    Nov 2010
    Location
    Wien || OÖ
    Posts
    116
    Thanks
    37
    Thanked 17 Times in 8 Posts
    denselben fehler bekomm ich auch.. vlt ist der copy-konstruktor den ich dir geschickt hab doch nicht ganz richtig. :/

    edit: zu langsam^^

  15. #15
    Master
    Join Date
    Sep 2011
    Posts
    168
    Thanks
    19
    Thanked 12 Times in 9 Posts
    Mehrere Songs können zu einer Playlist (Playlist) zusammengefasst werden. Eine
    Playlist hat eine bestimmte Reihenfolge, ein Song darf jedoch nur einmal in der Playlist
    enthalten sein.
    Sehe ich das richtig das ein Playlist dann einfach eine HashMap ist und wir halt die "getHashCode()" des songs so umschreiben müssen das alle eigenschaften drin vorkommen da ein song ja keine eindeutig identifizierende hat?.

  16. #16
    Elite SoulRiser's Avatar
    Join Date
    Oct 2010
    Posts
    426
    Thanks
    59
    Thanked 47 Times in 36 Posts
    Quote Originally Posted by bernhard2202 View Post
    Sehe ich das richtig das ein Playlist dann einfach eine HashMap ist und wir halt die "getHashCode()" des songs so umschreiben müssen das alle eigenschaften drin vorkommen da ein song ja keine eindeutig identifizierende hat?.
    für playlist eignet sich eine einfache arraylist besser, die songs beinhaltet

  17. #17
    Master
    Join Date
    Sep 2011
    Posts
    168
    Thanks
    19
    Thanked 12 Times in 9 Posts
    Quote Originally Posted by SoulRiser View Post
    für playlist eignet sich eine einfache arraylist besser, die songs beinhaltet
    und du überprüfst einfach ob sich beim Hinzufügen schon ein solcher Song in der ArrayList befindet??

  18. #18
    Elite SoulRiser's Avatar
    Join Date
    Oct 2010
    Posts
    426
    Thanks
    59
    Thanked 47 Times in 36 Posts
    Quote Originally Posted by bernhard2202 View Post
    und du überprüfst einfach ob sich beim Hinzufügen schon ein solcher Song in der ArrayList befindet??
    jap, mit contains(Object elem)

  19. The Following User Says Thank You to SoulRiser For This Useful Post:


  20. #19
    Master
    Join Date
    Sep 2011
    Posts
    168
    Thanks
    19
    Thanked 12 Times in 9 Posts
    Quote Originally Posted by SoulRiser View Post
    jap, mit contains(Object elem)
    ich sollte wohl zuerst lesen steht eh im Kommentar das es reicht zu überprüfen ob GENAU DIE Instanz bereits vorkommt sorry.

  21. #20
    Master
    Join Date
    Sep 2011
    Posts
    168
    Thanks
    19
    Thanked 12 Times in 9 Posts
    Eine dumme frage hab ich noch. Eine Plalist soll an ihrem Namen identifiziert werden aber weder in den Testfällen noch in dem Codegerüst ist ein Name vorhanden wo sollen wir den jetzt einbauen oder sollen wir einen namen generieren?

  22. #21
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Schau dir mal Testfall 4 und 5 genauer an
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  23. #22
    Baccalaureus sutupud's Avatar
    Join Date
    Nov 2008
    Location
    /home/livingroom
    Posts
    669
    Thanks
    9
    Thanked 176 Times in 146 Posts
    Quote Originally Posted by bernhard2202 View Post
    ich sollte wohl zuerst lesen steht eh im Kommentar das es reicht zu überprüfen ob GENAU DIE Instanz bereits vorkommt sorry.
    ... und auch wenn nicht wär's sinnvoll hier contains zu verwenden und dafür equals von Song zu überschreiben.
    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."
    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  24. #23
    Veteran
    Join Date
    Nov 2011
    Posts
    13
    Thanks
    10
    Thanked 1 Time in 1 Post
    Gibt es irgendwo die Folien von Donnerstag letzter Woche bezgl. HasMaps und Listen ?
    Ich hatte zum Zeitpunkt der Vorlesung FM Abgabegespräch

  25. #24
    Veteran
    Join Date
    Nov 2011
    Posts
    13
    Thanks
    10
    Thanked 1 Time in 1 Post
    Oder irgendeine Seite wo ich das nachlesen kann

  26. #25
    Principal
    Join Date
    Oct 2008
    Location
    Vienna
    Posts
    39
    Thanks
    4
    Thanked 1 Time in 1 Post
    Hallo,

    Songs und Playlist funktioniert ansich, aber ich habe ein seltsames Problem bei extractPlaylistByArtist
    Code:
     public Playlist extractPlaylistByArtist(String artist) {
      Playlist newplaylist= new Playlist();
      System.out.println(artist);
      
      
      for (int x = 0;  x < this.playlist.size(); x++) {
       System.out.println(this.playlist.get(x).getArtist());
       
       if (this.playlist.get(x).getArtist().equals(artist)) {
         System.out.println("gleich")
      }
      }
    return newplaylist; 
    }
    Ich muss ja eine Playlist zurückgeben, also hab ich eine Playlist newplaylist= new Playlist(); angelegt, stimmt das so???

    Wenn ich das nun ausführe, so wird nur der System.out.println(artist); ausgeführt und die for schleife gar nicht.

    Wenn ich das Playlist newplaylist= new Playlist(); lösche oder runter schiebe unter die for Schleife, wird es ausgeführt, ausgegeben und alle gleichen mit "gleich" markiert. Ich wollte die Playlist VORHER erstellen und dann die gleiche adden (statt gleich auszugeben (zum testen)).

    Was mach ich hier falsch???

    Ansonsten funktioniert Testfall 1 + 2 + 3 bis zu dem Zeitpunkt mit dem extractPlaylistByArtist normal.

    Wäre für Tipps oder Hinweise dankbar.
    Suche alte Computer der Marken Commodore, Amiga und Atari!

  27. #26
    Elite SoulRiser's Avatar
    Join Date
    Oct 2010
    Posts
    426
    Thanks
    59
    Thanked 47 Times in 36 Posts
    Quote Originally Posted by Sorex1 View Post
    Oder irgendeine Seite wo ich das nachlesen kann
    http://openbook.galileocomputing.de/javainsel/javainsel_13_002.html#dodtp5e6355b5-c483-4ca9-92f6-7bb32314150d
    http://openbook.galileocomputing.de/javainsel/javainsel_13_004.html#dodtpa0fe5e88-64cd-4e41-9c55-fb9fd98e0b0c

    gute lektüre, bündig und informativ

    @0727384 post mal bitte deine methode ohne den prints, sondern so wie sie gehören sollte, dann kann ich dir vlt sagen was du falsch machst

  28. The Following User Says Thank You to SoulRiser For This Useful Post:


  29. #27
    Baccalaureus sutupud's Avatar
    Join Date
    Nov 2008
    Location
    /home/livingroom
    Posts
    669
    Thanks
    9
    Thanked 176 Times in 146 Posts
    du musst natürlich den song zur neuen playlist hinzufügen, wenn der artist passt...
    btw, wenn man den index nicht braucht, ist eine foreach-schleife fast immer eleganter:
    Code:
    for (Song s : playlist) {
      // do your stuff
    }
    edit: zum testen wäre es vielleicht gut, wenn du die playlists auch ausgibst...
    frage: playlist ist nicht zufällig static?
    Last edited by sutupud; 28-11-2011 at 22:04.
    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."
    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  30. #28
    Principal
    Join Date
    Oct 2008
    Location
    Vienna
    Posts
    39
    Thanks
    4
    Thanked 1 Time in 1 Post
    OK, ist wohl ein Fehler von mir wo anders, playlist ist wirklich static da mir sonst eine NullPointerException kam/kommt. Das muss ich mir noch ansehen, was da los ist

    danke trotzdem
    Suche alte Computer der Marken Commodore, Amiga und Atari!

  31. #29
    Principal
    Join Date
    Aug 2011
    Posts
    84
    Thanks
    31
    Thanked 10 Times in 9 Posts
    Quote Originally Posted by sutupud View Post
    ... und auch wenn nicht wär's sinnvoll hier contains zu verwenden und dafür equals von Song zu überschreiben.
    Ich habe versucht, equals von Song zu überschreiben, aber contains() gibt immer false aus. Hat jemand eine Idee wieso?

  32. #30
    Baccalaureus sutupud's Avatar
    Join Date
    Nov 2008
    Location
    /home/livingroom
    Posts
    669
    Thanks
    9
    Thanked 176 Times in 146 Posts
    Quote Originally Posted by Mihai238 View Post
    Ich habe versucht, equals von Song zu überschreiben, aber contains() gibt immer false aus. Hat jemand eine Idee wieso?
    schwierig ohne deine implementierung zu kennen...
    sollte jedenfalls so ähnnlich aussehen:
    PHP Code:
    @Override
    public boolean equals(Object other) {
        if (
    other == null || !(other instanceof Song)) {
            return 
    false;
        } else {
            
    Song s = (Song)other;
            return 
    s.getArtist().equals(artist) && s.getTitle().equals(title) && s.getDuration() == duration;
        }

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."
    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  33. The Following User Says Thank You to sutupud For This Useful Post:


  34. #31
    Principal
    Join Date
    Oct 2008
    Location
    Vienna
    Posts
    39
    Thanks
    4
    Thanked 1 Time in 1 Post
    So alles gelöst bis auf ein Problem mit public Library(Library libraryToImport, String[] listOfNames)

    ich durchlaufe die HashMap mit
    for (Map.Entry e : libraryToImport.lib.entrySet()) {

    und möchte dann die passenden (also in der Array listOfNames vorgegebenen) Dinge hinzufügen zur Library.

    Dachte so irgendwie:
    addPlaylist(e.getKey (), e.getValue());

    Aber leider ist dann e.getValue () ein String und keine Playlist?

    Wie kann ich denn die Playlist dann hier ansprechen?


    Danke im Voraus, tu mir da zeitweise schwer

    @ TUTOR / LVA:
    Wieso (oder wo?) gibts die Muster - Lösungen? Wär schon praktisch bzw. hilfreich. Zumindest kurz vor dem Test (damit man es auch selbst implementiert und nicht gleich aufgibt und nachsieht).

    @ FORUM / BETREIBER:
    Hatte ein Smilie am Ende des Beitrages und nach dem Edit konnte ich nur VOR den Smilie schreiben, aber nicht nachher den Cursor platzieren (weder mit Maus noch mit Tastatur), ist wohl ein Bug? Das hier ist aber grad IE8 Später mal testen wie es im FF aussieht.
    Last edited by 0727384; 29-11-2011 at 02:17.
    Suche alte Computer der Marken Commodore, Amiga und Atari!

  35. #32
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by 0727384 View Post
    So alles gelöst bis auf ein Problem mit public Library(Library libraryToImport, String[] listOfNames)
    Code:
    for (String s: listOfNames)
    			addPlaylist(s,new Playlist(libraryToImport.playlists.get(s)));
    Last edited by Neveragain; 29-11-2011 at 07:18.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  36. The Following User Says Thank You to Neveragain For This Useful Post:


  37. #33
    Principal
    Join Date
    Aug 2011
    Posts
    84
    Thanks
    31
    Thanked 10 Times in 9 Posts
    @sutupud Vielen Dank für den Antwort. Ich habe mit Object_Name(z.B Person, Interval etc.) als Parameter implementiert, nicht Object.

  38. #34
    Principal
    Join Date
    Oct 2008
    Location
    Vienna
    Posts
    39
    Thanks
    4
    Thanked 1 Time in 1 Post
    Oh, danke @ Neveragain.

    Ich habe allerdings
    addPlaylist (s, new Playlist (libraryToImport.getPlaylist(s)));
    schreiben müssen, damit es klappt (also getPlaylist() statt playlists.get).

    Danke, nun klappts
    Suche alte Computer der Marken Commodore, Amiga und Atari!

  39. #35
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by 0727384 View Post
    Ich habe allerdings
    addPlaylist (s, new Playlist (libraryToImport.getPlaylist(s)));
    schreiben müssen, damit es klappt (also getPlaylist() statt playlists.get).
    Das hängt davon ab, wie du es implementiert hast.
    libraryToImport.playlists.get(s) sollte genauso funktionieren, wenn playlists deine HashMap ist.
    Ich habe die Angabe gerade nicht vor mir, aber wenn es eine Methode getPlaylist(s) gibt, dann kann natürlich auch die verwendet werden.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  40. #36
    Principal
    Join Date
    Oct 2008
    Location
    Vienna
    Posts
    39
    Thanks
    4
    Thanked 1 Time in 1 Post
    OK, danke. Hast recht, funktioniert auch so wie du beschrieben hast.
    Suche alte Computer der Marken Commodore, Amiga und Atari!

  41. #37
    Master
    Join Date
    Oct 2010
    Location
    Vienna
    Posts
    148
    Thanks
    18
    Thanked 1 Time in 1 Post
    Quote Originally Posted by mautsch View Post
    public Playlist(Playlist original) {

    playlist =new ArrayList<Song>();

    for(Song s : original){
    playlist.addSong(s);
    }
    }

    Bei mir kommt eine Fehlermeldung, wenn ich addSong verwende, mit add() funktionierts. Habe ich irgendwas falsch oder ist add auch ok?

    Und den Kopierkonstruktor aus Post #5 verstehe ich auch nicht ganz, wahrscheinlich ist es ganz einfach, aber blick mich grad nicht durch :-( Mit this(playlist1) werden ja alle Songs aus der Playlist 1 in die Playlist übertragen, wenn ich das richtig verstanden habe? Aber wie kopiere ich dann die Playlist 2? Nochmal this kann ich nicht aufrufen, da kommt mir eine Fehlermeldung. Wieder mit einer for-Schleife oder gibt es eine andere Möglichkeit?

  42. #38
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Black Sheep View Post
    Bei mir kommt eine Fehlermeldung, wenn ich addSong verwende, mit add() funktionierts. Habe ich irgendwas falsch oder ist add auch ok?

    Und den Kopierkonstruktor aus Post #5 verstehe ich auch nicht ganz, wahrscheinlich ist es ganz einfach, aber blick mich grad nicht durch :-( Mit this(playlist1) werden ja alle Songs aus der Playlist 1 in die Playlist übertragen, wenn ich das richtig verstanden habe? Aber wie kopiere ich dann die Playlist 2? Nochmal this kann ich nicht aufrufen, da kommt mir eine Fehlermeldung. Wieder mit einer for-Schleife oder gibt es eine andere Möglichkeit?
    Ohne playlist dh nur addSong(s);
    Ja, for Schleife passt.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  43. The Following User Says Thank You to Neveragain For This Useful Post:


  44. #39
    Master
    Join Date
    Oct 2010
    Location
    Vienna
    Posts
    148
    Thanks
    18
    Thanked 1 Time in 1 Post
    Quote Originally Posted by 0727384 View Post
    @ TUTOR / LVA:
    Wieso (oder wo?) gibts die Muster - Lösungen? Wär schon praktisch bzw. hilfreich. Zumindest kurz vor dem Test (damit man es auch selbst implementiert und nicht gleich aufgibt und nachsieht).
    Ich fände eine Musterlösung auch sehr hilfreich, kommt irgendwann eine online oder nicht?

  45. #40
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Black Sheep View Post
    Ich fände eine Musterlösung auch sehr hilfreich, kommt irgendwann eine online oder nicht?
    Soweit ich weiß, ist nicht geplant eine online zu stellen.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  46. #41
    Hero trambampolin's Avatar
    Join Date
    Oct 2011
    Posts
    228
    Thanks
    101
    Thanked 37 Times in 26 Posts
    Bei der zweiten Theoriefrage, ist es da nötig die Variablen final zu machen? Denn wenn bei der Addition der Vektor nicht mehr verändert werden würde, gäbe es eh keine Möglichkeit mehr, den Vektor zu ändern.

  47. #42
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Ja, die müssen final sein, bloß funktioniert die Addition dann so nicht mehr
    Last edited by Neveragain; 19-12-2011 at 20:37. Reason: Formulierung verbessert
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  48. The Following User Says Thank You to Neveragain For This Useful Post:


  49. #43
    Veteran
    Join Date
    Sep 2011
    Posts
    19
    Thanks
    0
    Thanked 9 Times in 6 Posts
    Quote Originally Posted by Neveragain View Post
    Ja, die müssen final sein, bloß funktioniert die Addition dann so nicht mehr
    Code:
    private final double x;
    private final double y;
    
    public Vector add(Vector v) {
    double i = this.x + v.x;
    double j = this.y + v.y;
    return new Vector(i,j);
    } Vector v = new Vector(3,4); v = v.add(new Vector(2,2)); System.out.println(v);
    Würde das als Lösung zählen? So ist es zumindest für mich am sinnvollsten

  50. #44
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Nayama View Post
    Code:
    private final double x;
    private final double y;
    
    public Vector add(Vector v) {
    double i = this.x + v.x;
    double j = this.y + v.y;
    return new Vector(i,j);
    } Vector v = new Vector(3,4); v = v.add(new Vector(2,2)); System.out.println(v);
    Würde das als Lösung zählen? So ist es zumindest für mich am sinnvollsten
    ja. ist richtig.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  51. #45
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    989
    Thanks
    480
    Thanked 183 Times in 123 Posts
    Jedes mal der gleiche Mist, am Anfang läuft es total gut und dann kommt irgendwo drinnen auf einmal ein blöder Fehler der mich Stunden kostet.

    Fazit: in 70 Minuten nicht schaffbar. Hab die Theorie noch nicht angefangen, arbeite jetzt seit 40 Minuten dran und werd noch mindestens ne Stunde für Fehlerbehandlung brauchen ehe ich auch nur mit Library anfangen kann -.- (und das nur, weil ich eine blöde Methode nicht hinkriege, nämlich public Playlist(Playlist playlist1, Playlist playlist2) der Rest funktioniert ordnungsgemäß)

    Die Zeit ist der größte Feind eines Programmieranfängers wie mir
    Last edited by Vendredi; 10-03-2012 at 16:12.
    “Fantasy is hardly an escape from reality. It's a way of understanding it.”
    ― Lloyd Alexander

  52. #46
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Was ist genau dein Problem mit dieser einen Methode?
    Simpel gelöst:

    Code:
    this(playlist1);
    for (Song s: playlist2.list)
       addSong(s);
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  53. #47
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    989
    Thanks
    480
    Thanked 183 Times in 123 Posts
    Gut, dann hat die Fehlereingrenzung nicht geklappt. Fehler ist anscheinend schon in der Methode Playlist(Playlist original).

    Wenn ich genau diesen Testfall wo darauf zugegriffen werde ausgrenze, klappt nämlich alles.

    Sitz jetzt 55 Minuten dran, den Test am Dienstag kann ich knicken.
    “Fantasy is hardly an escape from reality. It's a way of understanding it.”
    ― Lloyd Alexander

  54. #48
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Vendredi View Post
    Gut, dann hat die Fehlereingrenzung nicht geklappt. Fehler ist anscheinend schon in der Methode Playlist(Playlist original).
    Hast du die ArrayList initialisiert?
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  55. #49
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    989
    Thanks
    480
    Thanked 183 Times in 123 Posts
    Quote Originally Posted by Neveragain View Post
    Hast du die ArrayList initialisiert?
    Wie meinen?

    Code:
    ArrayList<Song> cl = new ArrayList<Song>();
    “Fantasy is hardly an escape from reality. It's a way of understanding it.”
    ― Lloyd Alexander

  56. #50
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Vendredi View Post
    Wie meinen?

    Code:
    ArrayList<Song> cl = new ArrayList<Song>();
    Mal davon abgesehen, dass man es so nicht machen sollte - daran liegt es offenbar nicht - du hast eine PN.
    (man sollte Variablen erst initialisieren, sobald man diese braucht)
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  57. The Following User Says Thank You to Neveragain For This Useful Post:


  58. #51
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    989
    Thanks
    480
    Thanked 183 Times in 123 Posts
    Quote Originally Posted by Neveragain View Post
    Mal davon abgesehen, dass man es so nicht machen sollte - daran liegt es offenbar nicht - du hast eine PN.
    (man sollte Variablen erst initialisieren, sobald man diese braucht)
    Mein Fehler war ein anderer. Ich hab's schon so:

    Code:
    private ArrayList<Song> pl;
    und dann erst im Konstruktor initialisiert. Die cl war ein Denkfehler meinerseits... brauch ja nur this() aufrufen. Da lag der Fehler
    “Fantasy is hardly an escape from reality. It's a way of understanding it.”
    ― Lloyd Alexander

  59. #52
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Also doch das was ich dachte
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  60. #53
    Master
    Join Date
    Apr 2008
    Posts
    117
    Thanks
    23
    Thanked 5 Times in 4 Posts

    Post

    /edit: Hat sich erledigt es geht!!!
    Last edited by manipuppee; 14-04-2012 at 22:08.

  61. #54
    Elite vinkulja6's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    393
    Thanks
    45
    Thanked 23 Times in 23 Posts
    gibt es am montag wieder ein repititorium?
    nothing is true, everything is permitted!

  62. #55
    Baccalaureus 1student's Avatar
    Join Date
    Aug 2011
    Location
    Disneyland Vienna
    Posts
    792
    Thanks
    138
    Thanked 151 Times in 116 Posts
    Quote Originally Posted by vinkulja6 View Post
    gibt es am montag wieder ein repititorium?
    Am Montag hat es doch noch nie ein Repetitorium gegeben. Vor dem Test gibt es nur diese Q&A-Stunde.
    https://pk.inflab.tuwien.ac.at/pp/uebung/tutorien/
    "If you can dream it, you can do it."
    -- Walt Disney
    I'm a student and I like it!

  63. #56
    Baccalaureus 1student's Avatar
    Join Date
    Aug 2011
    Location
    Disneyland Vienna
    Posts
    792
    Thanks
    138
    Thanked 151 Times in 116 Posts
    Quote Originally Posted by 1student View Post
    Am Montag hat es doch noch nie ein Repetitorium gegeben. Vor dem Test gibt es nur diese Q&A-Stunde. https://pk.inflab.tuwien.ac.at/pp/uebung/tutorien/
    Edit: mein "nie" bezieht sich nur auf dieses Semester

    Edit2: Gestern hat es ein Repetitorium gegeben und es wurde gesagt, dass Angabe und Lösung noch vor dem Test online gestellt werden.
    Last edited by 1student; 04-05-2012 at 09:22.
    "If you can dream it, you can do it."
    -- Walt Disney
    I'm a student and I like it!

  64. #57
    Elite vinkulja6's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    393
    Thanks
    45
    Thanked 23 Times in 23 Posts
    ich meinte natürlich das tutorium zu den tests.


    meine extractbyartist methode macht nicht was sie soll, also das programm überspringt die foreach schleife

    Code:
     public Playlist extractPlaylistByArtist(String artist)
    {        // FILL IN        
    
     Playlist extractBy = new Playlist();
                    
      for(Song s : extractBy.playlist)
      {
         if(s.artist.equals(artist))
            addSong(s);
     }
     return extractBy;
    }
    EDIT: meine fresse problem gelöst
    Last edited by vinkulja6; 04-05-2012 at 22:30.
    nothing is true, everything is permitted!

  65. #58
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    also ich hätte jetzt testfall 1 fertig

    wenn ich nun Jukebox.java ausführe
    terminiert er mir sofort das ganze ohne ein ergebnis zu liefern
    muss ich in Jukebox was ändern??

  66. #59
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    ps: ich arbeite mit eclipse

    wie kann ich nun testfall 1 aufrufen?

  67. #60
    Baccalaureus Vendredi's Avatar
    Join Date
    Jan 2011
    Posts
    989
    Thanks
    480
    Thanked 183 Times in 123 Posts
    edit: Hier stand Blödsinn.

    (Hab für den Test keine IDE verwendet.)

    Mein Tipp wäre in dem Fall als Alternativlösung einfach mit der Konsole in den Ordner manövrieren und die Testfälle mit "java Jukebox x" aufzurufen.

    Ist zwar nur ein Workaround aber zur Not...
    Last edited by Vendredi; 06-05-2012 at 10:12.
    “Fantasy is hardly an escape from reality. It's a way of understanding it.”
    ― Lloyd Alexander

  68. The Following User Says Thank You to Vendredi For This Useful Post:


  69. #61
    Logo-Wettbewerb 2012, Platz 2. emptyvi's Avatar
    Join Date
    Mar 2008
    Location
    Ponyville
    Posts
    864
    Thanks
    340
    Thanked 474 Times in 257 Posts
    Quote Originally Posted by Eagleeye View Post
    ps: ich arbeite mit eclipse

    wie kann ich nun testfall 1 aufrufen?
    Vorweg der übliche Hinweis, dass das Arbeiten mit Eclipse für Anfänger nicht ratsam ist.

    Ansonsten wird der jeweilige Testfall deinem Programm als Argument beim Start übergeben. Ein solches kannst du in Eclipse unter Run/Run Configurations im Reiter Arguments setzen (kann sein, dass dein Eclipse eingedeutscht ist, ka.). Dort wäre dann einfach "1" einzutragen.

    Liebe Grüße,
    emptyvi

    ¤¸¸.´¯`¸¸...>> Join the herd, join "My Little Pony @ TU-Wien" <<...¸¸´¯`.¸¸¤
    ¤¸¸.´¯`¸¸...>> (100% Twilight Sparkle approved) <<...¸¸´¯`.¸¸¤

  70. The Following User Says Thank You to emptyvi For This Useful Post:


  71. #62
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    thx an beide vorposter, hat beides geklappt


    2 neue fragen


    am Ende der Playlist Klasse, soll ich die to-String Methode schreiben
    was auch nicht allzuschwer war, jedoch die "GesamtMinuten" ? Soll ich da eine eigene Methode dafür schreiben?
    ich arbeite in der ganzen Klasse nur mit Arraylists

    tipps tricks hinweise?

  72. #63
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Einfach in der Schleife wo du die Songdaten rausliest die Dauer eines jeden Songs zu einer Summenvariable addieren.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  73. #64
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    ich lese die einzelnen Songdate in der to-stringmethode aus der Arraylist mittels Iterator ab
    wie sollte man da gezielt auf die duration kommen? oder meinst du ich soll die gesamt zeit schon in der klasse songs berechnen

  74. #65
    Logo-Wettbewerb 2012, Platz 2. emptyvi's Avatar
    Join Date
    Mar 2008
    Location
    Ponyville
    Posts
    864
    Thanks
    340
    Thanked 474 Times in 257 Posts
    Du gehst in deiner toString() Methode in der Playlistdie ArrayList mittels Iterator durch (nachdem du den eh schon benützt ^^). Du holst dir die Referenz vom Iterator (zum Beispiel: Song song = it.next()). Dann kannst du mit song.toString() deine Songdaten bekommen, und mit song.getDuration() die jeweilige Dauer (die du nur noch aufsummieren musst).

    Liebe Grüße,
    emptyvi

    ¤¸¸.´¯`¸¸...>> Join the herd, join "My Little Pony @ TU-Wien" <<...¸¸´¯`.¸¸¤
    ¤¸¸.´¯`¸¸...>> (100% Twilight Sparkle approved) <<...¸¸´¯`.¸¸¤

  75. The Following User Says Thank You to emptyvi For This Useful Post:


  76. #66
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    dankee (: auf euch kann man sich verlassen als java noob

  77. #67
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    Ich komm einfach bei der public Library(Library libraryToImport, String[] listOfNames) {

    Methode nicht mehr weiter. Ich weiß zwar dass ich mit ner HashMap arbeiten soll, jedoch weiß ich nicht, wie ich die Playlists aus "libraryToImport" rausnehmen und zeitgleich mit deren namen in die HM einfügen soll

  78. #68
    Elite
    Join Date
    Mar 2012
    Posts
    251
    Thanks
    4
    Thanked 52 Times in 43 Posts
    also ich würde für alle strings im array listofnames die methode librarytoimport.getplaylist aufrufen, falls diese != null ist playlist zu eigener lib hinzufügen....

  79. The Following User Says Thank You to jimb0 For This Useful Post:


  80. #69
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    Wie schaut bei euch die getPlayList Methode aus-

    ich erstelle eine neue Playlist, nur wie vergleicht man und filtert aus der "libraryToImportEntry" die playlist raus?
    um die hashmap zu erstellen brauch ich doch ne hashmap .....


    hashception -.-

  81. #70
    Elite
    Join Date
    Mar 2012
    Posts
    251
    Thanks
    4
    Thanked 52 Times in 43 Posts
    library.get(name)... library ist hier die hashmap (key=string, value=playlist)
    durchs aufrufen bekommst du nun von der library die playlist...
    jetzt musst du in diese library kopie von dieser playlist (mit dem vorher implementierten kopierkonstruktor) hinzufügen...
    also quasi:
    Playlist tmp = libtoimport.getPlaylist(string..blabla);
    addPlaylist(stringblablaba, newPlaylist(tmp));

  82. The Following User Says Thank You to jimb0 For This Useful Post:


  83. #71
    Hero
    Join Date
    Mar 2012
    Posts
    201
    Thanks
    8
    Thanked 30 Times in 24 Posts
    ne kurze Frage: warum muss ich die equal()-Methode überschreiben? Denn Song erbt ja sowieso von Object und Object implementiert ja equal() als Vergleich der Identitäten, was ja gebraucht wird. Bei mir hätten alle Testfälle funktioniert.

  84. #72
    Master
    Join Date
    Oct 2010
    Posts
    132
    Thanks
    35
    Thanked 1 Time in 1 Post
    @jimbo thx, jetzt funzt alles perfekt

  85. #73
    Principal
    Join Date
    Oct 2011
    Posts
    61
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Click image for larger version. 

Name:	Ekran Alıntısı.PNG 
Views:	83 
Size:	15.0 KB 
ID:	20904

    Hi,

    Was ist der Fehler jetzt? Kennt jemand das aus?

  86. #74
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Smilem View Post
    Click image for larger version. 

Name:	Ekran Alıntısı.PNG 
Views:	83 
Size:	15.0 KB 
ID:	20904

    Hi,

    Was ist der Fehler jetzt? Kennt jemand das aus?

    In deiner Jukebox.java steht statt "public class Jukebox {" irgendwas anderes...
    Last edited by Neveragain; 07-05-2012 at 10:18.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  87. #75
    Principal
    Join Date
    Oct 2011
    Posts
    61
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ich dachte auch so. Schon kontrolliert. Nicht so..

    Besser wäre vielleicht noch mal zu speichern :Q

  88. #76
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Nachdem dein Screenshot abgeschnitten ist, kann ich nur mutmaßen, dass du dort "JukeBox" stehen hast statt "Jukebox".

    edit: Da sollte vermutlich Jukebox und nicht JukeBox stehen - bin gerade in der Arbeit und kann nicht nachsehen.
    Last edited by Neveragain; 07-05-2012 at 10:23.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  89. #77
    Principal
    Join Date
    Oct 2011
    Posts
    61
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Es müsste schon funktionieren. Muss nicht nur Class Name und Kompilieren Name gleich sein.? Ich verwende sowieso nicht otherwhere Name "Jukebox".

    Aber schon die Datei wurde geändert :Q Jetzt kommt nicht dieser Fehler. Aber gibts kein Ausgabe

    Muss ich nur in der "testing()" Methode aufrufen und mit System.out ausgeben, was ich in anderen Klassen gescherieben hab..?

  90. #78
    Dipl.Ing Neveragain's Avatar
    Join Date
    Nov 2008
    Location
    Wien
    Posts
    1,686
    Thanks
    18
    Thanked 312 Times in 258 Posts
    Quote Originally Posted by Smilem View Post
    Jetzt kommt nicht dieser Fehler. Aber gibts kein Ausgabe

    Muss ich nur in der "testing()" Methode aufrufen und mit System.out ausgeben, was ich in anderen Klassen gescherieben hab..?
    java Jukebox -> Es wird die testing() ausgeführt.
    java Jukebox 1
    java Jukebox 2
    ...
    führt den Testfall 1,2.... aus.
    Für meine Aussagen gilt: Nichts hineininterpretieren, was nicht da steht.
    UE Programmierpraxis Tutor


  91. #79
    Hero Salmir's Avatar
    Join Date
    Mar 2010
    Location
    elf-60
    Posts
    195
    Thanks
    20
    Thanked 18 Times in 18 Posts
    Ich konnte mir jetzt nicht jede Frage/Antwort durchlesen... würd nur durcheinander kommen.

    Frage: Kann mir einer sagen warum ich dauernd "incompatible types" bekomme beim foreach?

    edit: war zu blöd um die ArrayList richtig zu schreiben und hatte "object vs Song" als types.. was natürlich schwachsinnig ist.

    lg
    Last edited by Salmir; 07-05-2012 at 18:10.
    Die Ewigkeit dauert verdammt lange, vorallem gegen Ende

  92. #80
    Veteran
    Join Date
    Dec 2010
    Posts
    12
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Beim Kopieren von der Klasse "Library" erlebe ich Folgendes Problem: Ich habe beim Kopieren folgende Methode erstellt:

    public Library(Library libraryToImport, String[] listOfNames) {
    for(String names: listOfNames) {
    String st=names;
    Playlist p3=libraryToImport.getPlaylist(st);
    addPlaylist(st,new Playlist(p3));
    }

    }

    Aber es kommt immer noch einen Nullpointer Exception heraus. Kann mir bitte jemand helfen?
    Danke im Voraus

Page 1 of 2 1 2 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •