2016-02-18 33 views
-1

我想做一個甲板課,其中一個人可以從主類添加對象。在我的子課程中,我有一個名爲public void add(Object n) 的方法,然後在我的主課程中,我添加了如「黑桃」,「心臟」,「鑽石」,「俱樂部」等套牌objects。 它應該打印出甲板。 這是我的方法類的代碼。我還沒有做出該方法,但在甲板上2將等於n。 所以,當有人做add.("Spades")將它添加到平臺2如何將對象添加到數組並打印?

Object [] deck=new Object[52]; 
     Object [] Suits=new Object[4]; 
     Object [] Ranks=new Object[17]; 
     Object deck2[]={"Spades","Hearts","Diamonds","Clubs","2","3","4","5","6","7","8","9","10","Jack","King","Queen","Ace"}; 
     for(int i=0;i<4;i++){ 
      Suits[i]=deck2[i]; 

     } 
      for(int i=4;i<Ranks.length;i++){ 
       Ranks[i]=deck2[i]; 
      System.out.println(Ranks[i]); 
     } 

      for(int i=0;i<deck.length;i++){ 
       deck[i]=Ranks[i%13]+" "+"of "+Suits[i/13]; 
      System.out.println(deck[i]); 

}}} 

它應該給輸出作爲此相同。這是分裂,但在我試圖創建的方法。我只能有一個對象。

Object [] deck2=new Object [52]; 
     Object[] deck=new Object [52]; 

     Object suits[]={"Spades","Hearts","Diamonds","Clubs"}; 
     Object rank[]={"2","3","4","5","6","7","8","9","10","Jack","King","Queen","Ace"}; 
     System.out.println("    Normal Deck"); 
     for(int i=0;i<deck.length;i++){ 
      deck[i]=rank[i%13]+" "+"of "+suits[i/13]; 
      deck2[i]=deck[i]; 
      System.out.println(deck[i]+",");} 
+0

你昨天給我的努力沒有學到什麼嗎?你爲什麼使用Object數組? –

+0

因爲對於其中一個賦值,它會要求您輸入Object數組。 – Kingjown

+0

所以首先我會推薦使用'ArrayList'而不是數組。另外,當有人引用一個對象數組時,您需要創建一個新類並創建該類的數組。畢竟,Java是OOP。如果你像這樣對待它,那麼你可以在你的課堂中有方法來處理你在這裏遇到的所有問題。 – JeffreyWorley

回答

0

好吧,對象數組和對象數組之間是有區別的。
「Object」是所有java對象的超類。
很可能你的任務指的是對象而不是「對象」類。
所以首先創建一個名爲Card的類。

class Card 
{ 
    private String rank; 
    private String suit; 

    public Card(String suit, String rank) 
    { 
    this.suit = suit; 
    this.rank = rank; 
    } 

    //Add getter methods 

    @Override 
    public String toString() 
    { 
    return ("Suit :" + suit + " and Rank :" + rank); 
    } 
} 

現在在你的主要方法 創建卡對象的ArrayList。
像這樣

ArrayList<Card> cards = new ArrayList<Card>(); 

創建卡對象,並將它們添加到列表中。

cards.add(new Card("Heart", "10")); 
cards.add(new Card("Spades", "King")); 

填充後您ArrayList的操作打印的所有卡對象。

for(Card card: cards) 
{ 
    System.out.println(card.toString()); 
}