gpt4 book ai didi

java - 打印出 arraylist 中的对象

转载 作者:行者123 更新时间:2023-11-30 06:22:15 24 4
gpt4 key购买 nike

首先我有一个名为 card 的类,代码为

public class Card
{
private int value;
private String suit;
// private int value;
//private String rank;
public Card (int v, String s)
{
value=v;
suit=s;
}

public int random()
{
int randomNum = ((int)(Math.random() * 100) % 13 +1);
return randomNum;
}

public void displayCard()
{
System.out.println(value + " of " + suit);
}

}

然后我有一个名为 deck 的类,其中包含这段代码

import java.util.*;

public class Deck
{
public ArrayList<Card> card;
private ArrayList<String> suits;
private ArrayList<Card> hand;


public Deck()// time to build a deck
{

card=new ArrayList<>();
suits=new ArrayList<>();

suits.add("Hearts");
suits.add("Spades");
suits.add("Clubs");
suits.add("Diamonds");

for (int y=2; y<15; y++)
{
card.add(new Card(y,suits.get(0)));
}

for (int y=2; y<15; y++)
{
card.add(new Card((y),suits.get(1)));
}

for (int y=2; y<15; y++)
{
card.add(new Card((y),suits.get(2)));
}

for (int y=2; y<15; y++)
{
card.add(new Card((y),suits.get(3)));
}



}//end of public deck


public ArrayList deal()// deal method
{
hand=new ArrayList<>();


for(int x = 0; x < 5; ++x)//build 5 card hand
{
hand.add(card.get(x));

System.out.println(card.get(x));

}

return hand;

}//end of public void deal

}// end of public class deck

然后我有主要的

import java.util.ArrayList;

import java.util.*;

public class gamePlay
{
private static gamePlay player1;
public Deck fullDeck;
private ArrayList<Card> yourHand;


public gamePlay()
{
fullDeck=new Deck();
System.out.println("Your poker hand is a");
yourHand = fullDeck.deal();

//System.out.println(yourHand);

}
public static void main(String[] args)
{
player1 = new gamePlay();
}
}

它正在为手中牌的值(value)和花色打印出一些疯狂的东西我认为它们要么是 arraylist 中的内存位置,要么是十六进制值我不确定是否需要它来打印西装和排名任何帮助表示赞赏

最佳答案

如果您的类实现了适当的 toString 方法,它将完美显示。

您可以轻松地将 Card 类中的现有方法 displayCard 更改为 toString 方法。这比通过在卡片的方法中调用 System.out.printlnCard 打印出自己更灵活。

@Override
public String toString() {
return value + " of " + suit;
}

如果你想将卡片打印到 System.out,你只需执行 System.out.println(card);

也可以使用 Arrays.toString(array) 将普通数组转换为字符串(例如,如果您有一个 Card[] 变量)。 List 的大多数实现已经实现了适当的 toString 方法,因此它会向您显示一个以逗号分隔的条目列表。

关于java - 打印出 arraylist 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19567470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com