Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 初始化卡片组时如何使用toString方法_Java_Arrays - Fatal编程技术网

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语句字符串。数组不够大。。。初始化它们时的大小不是以零为基础的。