Java 初始化卡片组时如何使用toString方法
我被分配了一个项目,在这个项目中,我必须创建一个带有卡片类的视频扑克程序来初始化卡片组。我一直在尝试自己做这件事,我想出了Java 初始化卡片组时如何使用toString方法,java,arrays,Java,Arrays,我被分配了一个项目,在这个项目中,我必须创建一个带有卡片类的视频扑克程序来初始化卡片组。我一直在尝试自己做这件事,我想出了 import java.util.Random; import java.util.Arrays; public class Cards { private int number, suit; /** * Constructor for objects of class Cards */ public Cards() {
import java.util.Random;
import java.util.Arrays;
public class Cards
{
private int number, suit;
/**
* Constructor for objects of class Cards
*/
public Cards()
{
int[] numbers = new int[12];
int[] suits = new int[3];
}
public int getSuit(int[] suits)
{
int randSuit;
Random gen = new Random();
randSuit = suits[gen.nextInt(4)];
return randSuit;
}
public int getNumber(int[] numbers)
{
int randNumber;
Random gen2 = new Random();
randNumber = numbers[gen2.nextInt(13)];
return randNumber;
}
public String toString()
{
return numbers[number] + " of " + suits[suit];
}
}
我看过其他人的例子如何做到这一点,但我试图制作自己的版本,使用数组中的随机生成器随机选择一个值,并将所述值分配给一个套装/号码。虽然我不知道如何从数组中提取随机生成的卡片的结果,并将它们转换为字符串,以表示Number+of+Suit,但我似乎不知道在toString方法中放入什么
如有任何建议,将不胜感激。我想创建一个字符串数组并从中提取单词会更容易,但我需要使用int值,即使这样,我也不知道如何提取数组值/字符串。我可能会实现两种类似的帮助器方法
private static String getSuit(int suit)
{
switch (suit) {
case 0: return "Spades";
case 1: return "Clubs";
case 2: return "Diamonds";
}
return "Hearts";
}
private static String getCard(int card)
{
switch (card) {
case 1: return "Ace";
case 11: return "Jack";
case 12: return "Queen";
case 13: return "King"; // Assuming you want a 10...
}
return String.valueOf(card);
}
然后在toString方法中调用它们,如下所示
public String toString()
{
return getCard(numbers[number]) + " of " + getSuit(suits[suit]);
}
该整数[]个数=新整数[12];是局部变量。可以使用两个枚举。一个是诉讼,一个是数字。我们还没有学过计数,所以我不确定我的教授会不会接受。不过我会确定的,谢谢你。至于int[]numbers=new int[12]是一个局部变量,我看不出有什么错,我按照我们创建数组的方式做了:在这种情况下,可以使用switchnumber语句或if-else-if语句字符串。数组不够大。。。初始化它们时的大小不是以零为基础的。