Olá Javanese?!
O código abaixo:
class Song implements Comparable<Song>
{
String title;
String artist;
String rating;
String bpm;
public int compareTo(Song s)
{
return title.compareTo(s.getTitle());
}
Song(String t, String a, String r, String b)
{
title = t;
artist = a;
rating = r;
bpm = b;
}
public String getTitle()
{
return title;
}
public String getArtist()
{
return artist;
}
public String getRating()
{
return rating;
}
public String getBpm()
{
return bpm;
}
public String toString()
{
return title;
}
}
e…
import java.util.*;
import java.io.*;
public class JukeBox3
{
ArrayList<Song> songList = new ArrayList<Song>();
public static void main(String [] args)
{
new JukeBox3().go();
}
public void go()
{
getSongs();
System.out.println(songList);
Collections.sort(songList);
System.out.println(songList);
}
void getSongs()
{
try
{
File file = new File("SongListMore.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while((line = reader.readLine()) != null)
{
addSong(line);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
void addSong(String lineToParse)
{
String[] tokens = lineToParse.split("/");
Song nextSong = new Song(tokens[0], tokens[1], tokens[2], tokens[3]);
songList.add(nextSong);
}
}
Da o seguinte erro:
java.lang.ArrayIndexOutOfBoundsException: 2
at JukeBox3.addSong(JukeBox3.java:41)
at JukeBox3.getSongs(JukeBox3.java:29)
at JukeBox3.go(JukeBox3.java:14)
at JukeBox3.main(JukeBox3.java:9)
[]
[]
Agora o contéudo do arquivo SongListMore.txt:
Pink Moon/Nick Drake
Somersault/Zero 7
Shiva Moon/Prem Joshua
Circles/BT
Deep Channel/Afro Celts
Passenger/Headmix
Listen/Tahit 80
Ou seja quero que mostra do jeito que esta e depois coloca em ordem alfabética.
Alguém pode me explicar o por que deste erro?