有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将对象添加到数组并打印它?

我正在尝试创建一个deck类,在这个类中,用户可以从主类添加对象。假设在我的子类中,我有一个名为public void add(Object n)的方法 然后在我的主要课程中,我增加了一些套牌,比如“黑桃”、“红心”、“钻石”、“梅花”等等。 它应该打印出甲板。 这是我的方法类代码。我还没有做过这个方法,但在deck2中等于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]+",");}

共 (1) 个答案

  1. # 1 楼答案

    好吧,物体数组和物体数组是有区别的
    “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());
    }