2016-03-05 90 views
0

所以我有一个名为MusicSelection的类,我必须用5个字符串参数创建2个MusicSelection的ArrayLists。我有一个存储在游戏中的.txt文件中的100个字符串列表。我需要使用这100个字符串创建20个MusicSelection对象并将它们存储在lib中。但是我正在最困难的时候弄清楚如何做到这一点。请帮忙。谢谢!从字符串[java]创建创建的类的ArrayList

public class MusicSelection { 

String g; 
String a; 
String t; 
String al; 
String d;  

public MusicSelection (String genre, String artist, String title, String album, String date){ 
    g = genre; 
    a = artist; 
    t = title; 
    al = album; 
    d = date; 
} 
public static void main(String[] args) { 
    Scanner play = null; 
    int choice = 0; 
    Scanner input = new Scanner(System.in); 
    ArrayList<MusicSelection> lib = new ArrayList(); 
    ArrayList<MusicSelection> plist = new ArrayList(); 

    System.out.println("Welcome to the playlist creator!"); 
    while(choice!=5){ 
     System.out.println("Please make a choice"); 
     System.out.println("1: Create playlist"); 
     System.out.println("2: Delete playlist"); 
     System.out.println("3: Add selection to playlist"); 
     System.out.println("4: Remove seletion from playlist"); 
     System.out.println("5: Quit"); 
     choice = input.nextInt(); 
     if (choice==1&&play==null){ 
      try 
      { 
       play =new Scanner(new FileInputStream("lisst.txt")); 
      } 
      catch(FileNotFoundException e) 
      { 
       System.out.println("Problem opening files."); 
       System.exit(0); 
      } 
      while(play.hasNextLine()){ 

      } 
+0

什么,具体来说,你有麻烦吗?你似乎只是要求StackOverflow为你做功课。虽然我们可以做到这一点,但它似乎不会对您有所帮助。 询问有关您遇到问题的部件的具体问题。如果你还没有这个问题,那就多研究一下。 –

回答

0

假设你的文件看起来是这样的:

前卫摇滚,平克·弗洛伊德,时间,月之暗面,1974年
前卫摇滚,平克·弗洛伊德,在运行,黑暗的一面1974年

package fileio; 

import java.io.BufferedReader; 
import java.io.FileInputStream; 
import java.io.FileReader; 
import java.util.ArrayList; 

public class ReadingFiles { 
String g; 
String a; 
String t; 
String al; 
String d; 
ArrayList<ReadingFiles> pList = new ArrayList<ReadingFiles>(); 

public ReadingFiles(){ 

} 

public ReadingFiles(String[] ar){ 
    this(ar[0], ar[1], ar[2], ar[3], ar[4]); 
} 

public ReadingFiles (String genre, String artist, String title, String album, String date){ 
    g = genre; 
    a = artist; 
    t = title; 
    al = album; 
    d = date; 
} 

public void addData(ReadingFiles file){ 
    pList.add(file); 
} 

public void deserializeFile(){ 
    try{ 
     BufferedReader br = new BufferedReader(new FileReader("/Users/droy/var/musicplist.txt")); 
     String line = null; 
     while ((line = br.readLine()) != null) { 
      String ar[] = line.split(","); 
      addData(new ReadingFiles(ar)); 
     } 
    } 
    catch (Exception ex){ 
     ex.printStackTrace(); 
    } 
} 


public static void main(String[] args) { 
    ReadingFiles file = new ReadingFiles(); 
    file.deserializeFile(); 
} 
} 
+0

但是现在我已经有了字符串的数组列表,我该如何将它们放入一个musicSelection数组列表中,增量为5 – Adam