0

私は単純な音楽データベースと ATM を作成しています。ユーザーが自分の音楽 (以前にデータベース クラスに入力された 4 トラック) を 3 曲のプレイリストに整理できるようにするプレイリスト クラスを作成しようとしています。

ユーザーがプレイリストに入れる曲を選択した後、このメソッドは newplaylist 内の最も近い空きスロットを検索し、Song 変数 (アーティスト、名前、期間、ファイルサイズ) を内部に配置することを意図しています。

現在、これを受け取っています。


プレイリスト ツールに入る...

こんにちは、プレイリスト ビルダーへようこそ!
以下のデータベースから新しいプレイリストに追加するトラックを選択してください (キー 1 ~ 4 を使用)
スロット 1:木:そよ風:2.34:128
1
エラー: データベースに空き領域がありません
スロット A : Song@3a1ec6
スロット B : Song@1ba6076
スロット C : Song@112e7f7
     メニュー
0 出口
1 インポートトラック
2 すべて表示
3 プレイリストを作成します (データベースに少なくとも 1 つのトラックが必要です)

返されるのは、変数自体ではなく、変数の場所への参照であると私は推測していますか?

Playlist.class のコードは次のとおりです。

public class Playlist {

    Song songDataPlay = new Song();
    static UserInterface UI = new UserInterface();

    static Song playlisttrackA = new Song();
    static Song playlisttrackB = new Song();
    static Song playlisttrackC = new Song();

    private int MAX_TIME;
    private double totalSize;
    private double totalTIme;

    String playlistClassArtist, playlistClassName;
    double playlistClassDuration;
    int playlistClassFileSize;

    static String playlistArtist;
    static String playlistName;
    static double playlistDuration;
    static int playlistFileSize;
    static Song newplaySong;
    static Song newSong;

    static Song carryfromuserintoplaylist = UI.newPlaylistSongIN;

    public void playlistObject(Song a, Song b, Song c) {
        this.playlisttrackA = a;
        this.playlisttrackB = b;
        this.playlisttrackC = c;
    }


    public static void playlistAllocation() {
        newSong = UI.newPlaylistSongIN;
        Playlist plu = new Playlist();
        SongDatabase SD = new SongDatabase();
        Song newSong = carryfromuserintoplaylist;


        if (playlisttrackA.songfileSize == 0) {

            setSongA(newplaySong);

            System.out.println("Slot A : " + playlisttrackA);
            System.out.println("Slot B : " + playlisttrackB);
            System.out.println("Slot C : " + playlisttrackC);

            newplaySong = newSong;

        } else if (playlisttrackB.songfileSize == 0) {

            setSongB(newplaySong);

            System.out.println("Slot A : " + playlisttrackA);
            System.out.println("Slot B : " + playlisttrackB);
            System.out.println("Slot C : " + playlisttrackC);

            newplaySong = newSong;

        } else if (playlisttrackC.songfileSize == 0) {

            setSongC(newplaySong);

            System.out.println("Slot A : " + playlisttrackA);
            System.out.println("Slot B : " + playlisttrackB);
            System.out.println("Slot C : " + playlisttrackC);

            newplaySong = newSong;

        } else {

            System.out.println("Error: there is no free space in the database");

            System.out.println("Slot A : " + playlisttrackA);
            System.out.println("Slot B : " + playlisttrackB);
            System.out.println("Slot C : " + playlisttrackC);

        }
    }

    public static void setSongA(Song newSong) {

        playlisttrackA = newplaySong;

        playlisttrackA.songartist = newplaySong.songartist;
        playlisttrackA.songname = newplaySong.songname;
        playlisttrackA.songduration = newplaySong.songduration;
        playlisttrackA.songfileSize = newplaySong.songfileSize;

    }

    public Song getSongA() {

        return (playlisttrackA);
    }


    public static void setSongB(Song newSong) {

        playlisttrackB = newplaySong;

        playlisttrackB.songartist = newplaySong.songartist;
        playlisttrackB.songname = newplaySong.songname;
        playlisttrackB.songduration = newplaySong.songduration;
        playlisttrackB.songfileSize = newplaySong.songfileSize;

    }


    public Song getSongB() {

        return (playlisttrackB);
    }


    public static void setSongC(Song newSongC) {

        playlisttrackC = newplaySong;

        playlisttrackC.songartist = newplaySong.songartist;
        playlisttrackC.songname = newplaySong.songname;
        playlisttrackC.songduration = newplaySong.songduration;
        playlisttrackC.songfileSize = newplaySong.songfileSize;

    }

    public Song getSongC() {

        return (playlisttrackC);

    }

    public String returnPlaylist() {


        if (playlisttrackA.songfileSize == 0 && playlisttrackB.songfileSize == 0 && playlisttrackC.songfileSize == 0) {
            return ("Error ; No new playlists have been added.");
        } else if (playlisttrackB.songfileSize == 0 && playlisttrackC.songfileSize == 0) {
            return ("You have imported:" + newplaySong.songname + " By " + newplaySong.songartist + " to slot A in the new playlist");
        } else if (newplaySong.songfileSize == 0) {
            return ("You have imported:" + newplaySong.songname + " By " + newplaySong.songartist + "  to slot B in the new playlist");
        } else {
            return ("You have imported:" + newplaySong.songname + " By " + newplaySong.songartist + "  to slot C in the new playlist");
        }

    }


}

どんな助けでも大歓迎です、ありがとう

4

1 に答える 1

0

System.out.println("Slot A : "+playlisttrackA);これは(から派生した) のtoString()メソッドを呼び出します。デフォルトでは、オブジェクトのハッシュ コードを出力します。SongObject

playlisttrackA.songname私があなたのコードを正しく理解しているなら、あなたはより良い印刷をすべきです。

于 2013-05-03T08:26:36.130 に答える