Java 如何让阵列中的所有卡显示?

Java 如何让阵列中的所有卡显示?,java,arrays,tostring,Java,Arrays,Tostring,输出很奇怪。这是针对一个类的,我需要以某种方式修改toString方法来实现这一点,但我不知道如何实现。这给了我记忆位置的感觉Card@wods903je0d等等我用所有可能的卡片创建了一个数组,但我不知道如何显示它们。我需要帮助 \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \

输出很奇怪。这是针对一个类的,我需要以某种方式修改toString方法来实现这一点,但我不知道如何实现。这给了我记忆位置的感觉Card@wods903je0d等等我用所有可能的卡片创建了一个数组,但我不知道如何显示它们。我需要帮助

\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\

// wblab17.java
// This is the Student starting version for the <Deck> class lab assignment. 


public class wblab17100
{
   public static void main(String args[])
   {
      System.out.println("Lab11bst.JAVA");
      System.out.println();     
      Deck deck = new Deck();
      System.out.println(deck);
   }
}

class Card {
   private String suit; 
   private String rank; 
   private int pointValue;
   public Card(String s, String r, int pV) {
      suit = s;
      rank = r; 
      pointValue = pV;
   }
}


class Deck 
{
   private Card[] cards;
   private int size;

   public Deck() 
   {
  size = 52;
  cards = new Card[size];
  Card n1 = new Card("Clubs", "Two", 2);
  Card n2 = new Card("Clubs", "Three", 3);
  Card n3 = new Card("Clubs", "Four", 4);
  Card n4 = new Card("Clubs", "Five", 5);
  Card n5 = new Card("Clubs", "Six", 6);
  Card n6 = new Card("Clubs", "Seven", 7);
  Card n7 = new Card("Clubs", "Eight", 8);
  Card n8 = new Card("Clubs", "Nine", 9);
  Card n9 = new Card("Clubs", "Ten", 10);
  Card n10 = new Card("Clubs", "Jack", 10);
  Card n11 = new Card("Clubs", "Queen", 10);
  Card n12 = new Card("Clubs", "King", 10);
  Card n13 = new Card("Clubs", "Ace", 11);
  Card n14 = new Card("Diamonds", "Two", 2);
  Card n15 = new Card("Diamonds", "Three", 3);
  Card n16 = new Card("Diamonds", "Four", 4);
  Card n17 = new Card("Diamonds", "Five", 5);
  Card n18 = new Card("Diamonds", "Six", 6);
  Card n19 = new Card("Diamonds", "Seven", 7);
  Card n20 = new Card("Diamonds", "Eight", 8);
  Card n21 = new Card("Diamonds", "Nine", 9);
  Card n22 = new Card("Diamonds", "Ten", 10);
  Card n23 = new Card("Diamonds", "Jack", 10);
  Card n24 = new Card("Diamonds", "Queen", 10);
  Card n25 = new Card("Diamonds", "King", 10);
  Card n26 = new Card("Diamonds", "Ace", 11);
  Card n27 = new Card("Hearts", "Two", 2);
  Card n28 = new Card("Hearts", "Three", 3);
  Card n29 = new Card("Hearts", "Four", 4);
  Card n30 = new Card("Hearts", "Five", 5);
  Card n31 = new Card("Hearts", "Six", 6);
  Card n32 = new Card("Hearts", "Seven", 7);
  Card n33 = new Card("Hearts", "Eight", 8);
  Card n34 = new Card("Hearts", "Nine", 9);
  Card n35 = new Card("Hearts", "Ten", 10);
  Card n36 = new Card("Hearts", "Jack", 10);
  Card n37 = new Card("Hearts", "Queen", 10);
  Card n38 = new Card("Hearts", "King", 10);
  Card n39 = new Card("Hearts", "Ace", 11);
  Card n40 = new Card("Spades", "Two", 2);
  Card n41 = new Card("Spades", "Three", 3);
  Card n42 = new Card("Spades", "Four", 4);
  Card n43 = new Card("Spades", "Five", 5);
  Card n44 = new Card("Spades", "Six", 6);
  Card n45 = new Card("Spades", "Seven", 7);
  Card n46 = new Card("Spades", "Eight", 8);
  Card n47 = new Card("Spades", "Nine", 9);
  Card n48 = new Card("Spades", "Ten", 10);
  Card n49 = new Card("Spades", "Jack", 10);
  Card n50 = new Card("Spades", "Queen", 10);
  Card n51 = new Card("Spades", "King", 10);
  Card n52 = new Card("Spades", "Ace", 11);

  cards[0]= n1;
  cards[1]= n2;
  cards[2]= n3;
  cards[3]= n4;
  cards[4]= n5;
  cards[5]= n6;
  cards[6]= n7;
  cards[7]= n8;
  cards[8]= n9;
  cards[9]= n10;
  cards[10]= n11;
  cards[11]= n12;
  cards[12]= n13;
  cards[13]= n14;
  cards[14]= n15;
  cards[15]= n16;
  cards[16]= n17;
  cards[17]= n18;
  cards[18]= n19;
  cards[19]= n20;
  cards[20]= n21;
  cards[21]= n22;
  cards[22]= n23;
  cards[23]= n24;
  cards[24]= n25;
  cards[25]= n26;
  cards[26]= n27;
  cards[27]= n28;
  cards[28]= n29;
  cards[29]= n30;
  cards[30]= n31;
  cards[31]= n32;
  cards[32]= n33;
  cards[33]= n34;
  cards[34]= n35;
  cards[35]= n36;
  cards[36]= n37;
  cards[37]= n38;
  cards[38]= n39;
  cards[39]= n40;
  cards[40]= n41;
  cards[41]= n42;
  cards[42]= n43;
  cards[43]= n44;
  cards[44]= n45;
  cards[45]= n46;
  cards[46]= n47;
  cards[47]= n48;
  cards[48]= n49;
  cards[49]= n50;
  cards[50]= n51;
  cards[51]= n52;
   }

   public String toString(){
      String arr = "";
      for(int i = 0; i<size; i++){
         arr = arr + cards[i].toString() +"\n";
      }
      return arr;
   }    
 }
//wblab17.java
//这是课堂实验作业的学生起始版本。
公共类wblab17100
{
公共静态void main(字符串参数[])
{
System.out.println(“Lab11bst.JAVA”);
System.out.println();
甲板=新甲板();
系统输出打印LN(甲板);
}
}
班级卡{
私服;
私有字符串秩;
私有int点值;
公共卡(字符串s、字符串r、整数pV){
西服=s;
秩=r;
点值=pV;
}
}
甲板
{
私人卡[]卡;
私有整数大小;
公共甲板()
{
尺寸=52;
卡片=新卡片[尺寸];
卡n1=新卡(“俱乐部”、“两个”、2);
卡n2=新卡(“俱乐部”、“三张”、3张);
卡n3=新卡(“俱乐部”、“四张”、4张);
卡n4=新卡(“俱乐部”、“五”和“5”);
卡n5=新卡(“俱乐部”、“六家”、6家);
卡n6=新卡(“俱乐部”、“七”和“七”);
卡n7=新卡(“俱乐部”、“八”和“8”);
卡n8=新卡(“俱乐部”,“九”,9);
卡n9=新卡(“俱乐部”、“十”、10);
卡n10=新卡(“俱乐部”,“杰克”,10);
卡n11=新卡(“俱乐部”、“女王”,10);
卡n12=新卡(“俱乐部”、“国王”,10);
卡n13=新卡(“俱乐部”、“Ace”,11);
卡n14=新卡(“钻石”,“两个”,2);
卡n15=新卡(“钻石”,“三”,3);
卡n16=新卡(“钻石”,“四”,4);
卡n17=新卡(“钻石”,“五”,5);
卡n18=新卡(“钻石”,“六”,6);
卡n19=新卡(“钻石”、“七”和“七”);
卡n20=新卡(“钻石”,“八”,8);
卡n21=新卡(“钻石”,“九”,9);
卡n22=新卡(“钻石”、“十”、10);
卡n23=新卡(“钻石”,“杰克”,10);
卡n24=新卡(“钻石”,“女王”,10);
卡n25=新卡(“钻石”,“国王”,10);
卡n26=新卡(“钻石”,“王牌”,11);
卡n27=新卡(“红心”,“两个”,2);
卡n28=新卡(“红心”,“三”,3);
卡n29=新卡(“红心”,“四”,4);
卡n30=新卡(“红心”,“五”,5);
卡n31=新卡(“红心”,“六”,6);
卡n32=新卡(“红心”、“七”和“七”);
卡n33=新卡(“红心”,“八”,8);
卡n34=新卡(“红心”,“九”,9);
卡n35=新卡(“红心”、“十”、10);
卡n36=新卡(“红心”,“杰克”,10);
卡n37=新卡(“红心”,“女王”,10);
卡n38=新卡(“红心”,“国王”,10);
卡n39=新卡(“红心”,“Ace”,11);
卡n40=新卡(“黑桃”,“两张”,2);
卡n41=新卡(“黑桃”,“三”,3);
卡n42=新卡(“黑桃”、“四”、4);
卡n43=新卡(“黑桃”、“五”、5);
卡n44=新卡(“黑桃”,“六”,6);
卡n45=新卡(“黑桃”、“七”、7);
卡n46=新卡(“黑桃”、“八”、8);
卡n47=新卡(“黑桃”、“九”、9);
卡n48=新卡(“黑桃”、“十”、10);
卡n49=新卡(“黑桃”,“杰克”,10);
卡片n50=新卡片(“黑桃”、“女王”,10);
牌n51=新牌(“黑桃”,“国王”,10);
牌n52=新牌(“黑桃”、“王牌”,11);
卡片[0]=n1;
卡片[1]=n2;
卡片[2]=n3;
卡片[3]=n4;
卡片[4]=n5;
卡片[5]=n6;
卡片[6]=n7;
卡片[7]=n8;
卡片[8]=n9;
卡片[9]=n10;
卡片[10]=n11;
卡片[11]=n12;
卡片[12]=n13;
卡片[13]=n14;
卡片[14]=n15;
卡片[15]=n16;
卡片[16]=n17;
卡片[17]=n18;
卡片[18]=n19;
卡片[19]=n20;
卡片[20]=n21;
卡片[21]=n22;
卡片[22]=n23;
卡片[23]=n24;
卡片[24]=n25;
卡片[25]=n26;
卡片[26]=n27;
卡片[27]=n28;
卡片[28]=n29;
卡片[29]=n30;
卡片[30]=n31;
卡片[31]=n32;
卡片[32]=n33;
卡片[33]=n34;
卡片[34]=n35;
卡片[35]=n36;
卡片[36]=n37;
卡片[37]=n38;
卡片[38]=n39;
卡片[39]=n40;
卡片[40]=n41;
卡片[41]=n42;
卡片[42]=n43;
卡片[43]=n44;
卡片[44]=n45;
卡片[45]=n46;
卡片[46]=n47;
卡片[47]=n48;
卡片[48]=n49;
卡[49]=n50;
卡片[50]=n51;
卡片[51]=n52;
}
公共字符串toString(){
字符串arr=“”;
对于(int i=0;i在
Card
类中提供
toString()
方法

@Override
public String toString() {
    return "Card{" +
            "suit='" + suit + '\'' +
            ", rank='" + rank + '\'' +
            ", pointValue=" + pointValue +
            '}';
}

代码的问题是,您正在重写Deck类中的toString()方法,而应该重写Card类中的toString()方法方法,正在执行对象类中提供的实现,该实现将打印给定对象的内存位置。如果要打印对象的字段值,请根据打印逻辑重写Card类中的toString()方法。下面是重写Card类的toString方法的一种方法

@Override
public String toString() {
    return "Card{" +
            "suit= '" + suit + '\'' +
            ", rank= '" + rank + '\'' +
            ", pointValue=" + pointValue +
            '}';
}

Card
需要覆盖
toString
以便您可以传回所需的详细信息。就个人而言,这不是我最喜欢做的事情,因为我更喜欢
toString
用于诊断/调试信息。也许在
桌面的
toString
中,您应该使用
Card
中的属性来格式化如果我没有错的话,你从我的答案中复制了代码片段!!我用代码中的问题指导他,并向他解释了如何工作,而不仅仅是提供toString()的实现方法,不告诉他什么是错误的,以及将来如何处理。这已经在@MadProgrammer!的评论中解释过了,不是吗?