[英]How to pass ArrayList Object with Different Data Types using oop concept?
[英]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
字段(如songname
、 singer
等)。
然后你有一個Song
的集合,你可以使用相同的方法來輸出每一個(可能覆蓋toString()
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.