簡體   English   中英

如何顯示ArrayList的不同數據類型<Object> ?

[英]How to display different data types of ArrayList<Object>?

由於我有不同類型的變量,例如 Integer 和 string,我想我需要使用 ArrayList 來存儲所有這些數據。 我可以存儲所有數據,但無法以特定類型顯示數據。 例如,我讓用戶輸入代碼、歌曲名、專輯等,我想在單獨的行中顯示代碼、歌曲名、專輯。

我不知道如何在單獨的行中顯示每個數據,但我知道如何顯示所有數據。 誰能幫我這個?

package testmusic;

import java.util.ArrayList;
import java.util.Scanner;

public class MusicTest {

    // Arraylist
    ArrayList<Object> mylist=new ArrayList<Object>();

    // declare variables
    private Integer code;
    private String songname;
    private String singer;
    private String album;
    private String genre;
    private PriceTest pricetest; // aggregate with PriceTest (HAS-a)


    // default Constructor
    public MusicTest() {};


    // method for add music 
    void addMusicTest()
    {
        // Scanner
        Scanner input=new Scanner(System.in);

        // prompt user for how many song they want to input
        System.out.println("How Many Song You Want to Add Into the System?: ");
        int song=input.nextInt();

        // for loop
        for(int i=0;i<song;i++) 
        {
            System.out.print("Enter Code: ");
            mylistcode.add(input.nextInt());
            mylist.add(input.nextLine());
            System.out.print("Enter Song: ");
            mylist.add(input.nextLine());
            System.out.print("Enter Singer: ");
            mylist.add(input.nextLine());
            System.out.print("Enter Album: ");
            mylist.add(input.nextLine());
            System.out.print("Enter Genre: ");
            mylist.add(input.nextLine());
            System.out.print("Enter Cost Price: ");
            mylist.add(input.nextInt());
            System.out.print("Enter Sell Price: ");
            mylist.add(input.nextInt());
            System.out.println("DATA HAS BEEN CREATED!");

            input.close();

        }
    } // ends of addMusicTest


    // method for display
    void displayMusciTest() //MY PROBLEM IS IN HERE
    {
        for(Object str:mylist) 
        {
        System.out.println("Code: "+str);
        System.out.println("Title: "+str);
        System.out.println("Singer: "+str);  
        System.out.println("Album: "+str);
        System.out.println("Genre: "+str);  
        }
    }





    // GETTER METHOD
    public Integer getCode() {
        return code;
    }

    public String getSongname() {
        return songname;
    }
    public String getSinger() {
        return singer;
    }

    public String getAlbum() {
        return album;
    }

    public String getGenre() {
        return genre;
    }

    public PriceTest getPricetest() {
        return pricetest;
    }

    // SETTER METHOD    
    public void setCode(Integer code) {
        this.code = code;
    }

    public void setSongname(String songname) {
        this.songname = songname;
    }

    public void setSinger(String singer) {
        this.singer = singer;
    }

    public void setAlbum(String album) {
        this.album = album;
    }

    public void setGenre(String genre) {
        this.genre = genre;
    }

    public void setPricetest(PriceTest pricetest) {
        this.pricetest = pricetest;
    }

}

你似乎錯過了家庭作業的重點。 您不應該嘗試將所有單個項目存儲到一個對象集合中,您應該有一個類(可能是Song ),其中songname字段(如songnamesinger等)。

然后你有一個Song的集合,你可以使用相同的方法來輸出每一個(可能覆蓋toString() )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM