Avatar billede mads375 Juniormester
02. december 2013 - 15:33 Der er 7 kommentarer og
1 løsning

Knyt oprettede objekter til

Hejsa

Jeg har et spørgsmål som kan ses på dette billede: (Det er spørgsmål nr 6)

http://postimg.org/image/451wglzst/

Jeg forstår ikke helt fejlen jeg får. Jeg indsætter lige nogle billeder af min kode, og selve koden. Håber der er nogle som kan hjælpe?

Driver: http://postimg.org/image/l5qow6ztn/  ------> fejlen
Playlist: http://postimg.org/image/tsi7iditv/
Track: http://postimg.org/image/4xgsp2vst/

Og her er koden:


public class Driver
{
    public Driver() {
       
    }
    public static void exam() {
        Track t1 = new Track("Yesterday", "The Beatles", 2, 5);
        Track t2 = new Track("Ciwil War", "Guns N Roses", 4, 54);
        System.out.println(t1.toString());
        System.out.println(t2.toString());
       
        Playlist play = new Playlist("Rock");
        play.add(t1);
        play.add(t2);
       
    }
}

_____

import java.util.ArrayList;

public class Playlist
{
    private String playlistName;
    private ArrayList<Track> tracks;
   
    public void addTrack(String n, Track t) {
      playlistName = n;
      tracks = new ArrayList<Track>();
       
    }

    public void addTrack(Track t) {
        tracks.add(t);
    }
   
    public void removeTrack(Track t) {
        tracks.remove(t);
    }
   
    public Track findShortestTrack() {
   
    }
}
_____


public class Track
{
    private String songName, artist;
    private int min, sec;

   
    public Track(String ar, String sn, int m, int se) {
        artist = ar;
        songName = sn;
        min = m;
        sec = se;
       
    }

   
    public String toString() {
        return songName + ": " + artist + " (" + min + ":" + sec + ")";
    }
}
Avatar billede FastEthernet Novice
02. december 2013 - 15:41 #1
Du mangler en constructor i din Playlist klasse.

public Playlist(String name) {
    playlistName = name;
]
Avatar billede FastEthernet Novice
02. december 2013 - 15:44 #2
] skal selvfølgelig være }, slåfejl.
Avatar billede mads375 Juniormester
03. december 2013 - 12:38 #3
Tak for svaret. Nu har jeg fået rettet det. Jeg er dog lidt i tvivl om jeg skal kalde metoden eller klassen fra min driver:

import java.util.ArrayList;

public class Playlist
{
    private String playlistName;
    private ArrayList<Track> tracks;
   
    public void playlist(String n) {
   
    playlistName = n;
    tracks = new ArrayList<Track>();
    }
   
    public void addTrack(Track t) {
      tracks.add(t);
       
    }
   
    public void removeTrack(Track t) {
        tracks.remove(t);
    }
}

________

public class Driver
{
  public Driver() {
  }
    public static void exam() {
        Track t1 = new Track("Yesterday", "The Beatles", 2, 5);
        Track t2 = new Track("Ciwil War", "Guns N Roses", 4, 54);
        System.out.println(t1.toString());
        System.out.println(t2.toString());
       
        Playlist play = new Playlist("Rock");
        play.add(t1);
        play.add(t2);
    }
}

Jeg har prøvet at kalde både på klassen og min konstruktor/metode

http://postimg.org/image/urrgo1zzb/
http://postimg.org/image/u50tne9pv/
Avatar billede mads375 Juniormester
03. december 2013 - 12:40 #4
Iøvrigt hvis jeg laver metoden sådan her:

http://postimg.org/image/gbjf05byz/

får jeg en fejl også.

public Playlist(String name) {
    playlistName = name;
}

Men virker når jeg sætter en returtype ind. Troede egentligt det var min konstruktor?

Mvh Mads
Avatar billede FastEthernet Novice
03. december 2013 - 14:28 #5
Din constructor skal være med stort 'P', altså "Playlist" og ikke "playlist" - så burde det virke efter hensigten.
Avatar billede mads375 Juniormester
03. december 2013 - 18:30 #6
Jeps det spiler.. tak :-) Det vil sige at man kalder klassen "Playlist"?
Avatar billede mads375 Juniormester
03. december 2013 - 18:57 #7
Ligger du ikke et svar iøvrigt?
Avatar billede FastEthernet Novice
03. december 2013 - 19:44 #8
Ja, når du opretter et objekt af typen "Playlist", vil constructoren i Playlist-klassen blive kaldt (hvis der er oprettet en)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester