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