2016-10-30 2 views
-2

Я работаю над кодом на Java, который должен иметь возможность печатать все элементы в Arraylist songs, а также иметь возможность случайным образом перемешать элементы. Он работал хорошо, но теперь внезапно он даже не распечатает элементы. Единственное, что код печатает сейчас:Процесс завершен кодом выхода 0 java

Процесс закончил с кодом выхода 0

, что означает, что моя программа остановилась. Я думаю, что это может быть что-то с моей петлей?

public void printAllSongs(){ 
    System.out.println("These are your current songs in your player: "); 
    for (Song song : songs){ 
     System.out.println(song.toString()); 
    } 
} 

public static void main(String[] args) { 
    MusicMaria player = new MusicMaria(); 

    player.addTrack(new Song("Timberlake", "Cry me a river", 4)); 
    player.addTrack(new Song("Shakira", "Wherever", 3)); 
    player.addTrack(new Song("Beyonce", "Single legs", 5)); 
    player.addTrack(new Song("James Brown", "It's a mans world", 3)); 
    player.addTrack(new Song("Ed Sheeran ", "Legohouse", 3)); 
    player.addTrack(new Song("Mia", "I love you", 4)); 
    player.addTrack(new Song("Scarlet", "Palm tree", 5)); 
    //player.printAllSongs(); 
    player.shuffle(); 
    player.printAllSongs(); 
} 
+4

в вашей петле, в которой находятся эти «песни»? – johnII

+0

Этого недостаточно. Покажите нам весь класс 'MusicMaria', включая' # addTrack' и '# shuffle'. Но сначала обновите страницу, чтобы увидеть все внесенные изменения. – Tom

+0

Весь код слишком длинный. Переполнение стека не позволяет мне отправлять, потому что в нем слишком много букв. Можно ли отправить его в виде файла? – Maria

ответ

2

Согласно кодексу вы связаны (https://www.dropbox.com/sh/whhr43541u2v03j/AACJXvg7J4ftNahysx-tFDPca?dl=0), проблема заключается в методе addTrack(Song).

Все, что вы сейчас делаете, это увеличение общей длины плейлиста по длине песни. Что вам нужно сделать, это добавить Song в объект ArrayList<Song>. Ниже приведен код, который должен исправить проблему.

private ArrayList<Song> songs; // Initialized in constructor 

@Override 
public void addTrack(Song song) { 
    totalLength += song.getSongLenght(); 
    songs.add(song); 
} 
+0

Yay thanks 0xA2C2A! Это исправлено! – Maria

Смежные вопросы