【问题标题】:Creating an ArrayList of a created class from String [java]从 String [java] 创建已创建类的 ArrayList
【发布时间】:2016-03-05 04:34:30
【问题描述】:

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

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()){

            }

【问题讨论】:

  • 具体来说,您遇到了什么问题?您似乎只是在要求 StackOverflow 为您做作业。虽然我们可以这样做,但它似乎对您没有帮助。询问有关您遇到问题的部分的具体问题。如果您还没有这样的问题,请进一步研究。

标签: java class arraylist import


【解决方案1】:

假设您的文件如下所示:

前卫摇滚,平克弗洛伊德,时间,月之暗面,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();
}
}

【讨论】:

  • 但是现在我有了字符串的数组列表,如何以 5 为增量将它们放入 musicSelection 数组列表中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
相关资源
最近更新 更多