在我的方法中,如何使用现有数组分配特定字符串?

时间:2013-12-21 00:30:21

标签: java

我已生成一个随机数,将其转换为String,现在我想知道如何将“String suit”(这是一个随机数转换为字符串)分配给suitValues数组中的实际套装?

import javax.swing.JOptionPane;
public class Card
{
    int roll;
    String suit = "";
    String number = "";
    String[] numberValues = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
    String[] suitValues = {"Hearts", "Diamonds", "Clubs", "Spades"};
    public void createCard()
    {
        roll= 1 + (int)(Math.random() * ((4-1)+1));
        suit = Integer.toString(roll);
        roll= (int)(Math.random() * ((13-1)+1));
        number = Integer.toString(roll);
    }
}

3 个答案:

答案 0 :(得分:0)

 suit = suitValues[Math.floor(Math.random()*4)];
 number = numberValues[Math.floor(Math.random()*13)];

答案 1 :(得分:0)

你应该声明它们是静态类成员而不是实例成员。

static String[] numberValues = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
static String[] suitValues = {"Hearts", "Diamonds", "Clubs", "Spades"};

其次,您拥有该类卡的套装属性,无论何时您需要知道它实际代表哪种套装,您都可以随时查看

Card.suitValues[cardInstance.suit]

答案 2 :(得分:0)

为什么要将数字转换为String

如果我弄错了,您希望将数组suitValues中的随机值分配给变量suit。然后你就可以做到这一点。

public class Card
{
    int roll;
    String suit = "";
    String number = "";
    String[] numberValues = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
    String[] suitValues = {"Hearts", "Diamonds", "Clubs", "Spades"};
    public void createCard()
    {
        roll= (Math.floor(Math.random())) % 4;
        suit = numberValues[roll];
        roll= (Math.floor(Math.random())) % 13;
        number = numberValues[roll];
    }
}