Random.choice等效于Java中的数组

时间:2014-11-02 14:14:42

标签: java netbeans python-3.4

以下是我在Python中random.choice实现的示例。

available_cards = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'Queen', 'King', 'Jack', 'Ace']
random_computer_card = random.choice(available_cards)
print random_computer_card

只是想知道这段代码的Java等价物是什么。显然,我还没有在示例中包含import语句。

提前致谢:)

3 个答案:

答案 0 :(得分:4)

将所有内容转换为String并在下面的数组中定义它们,并通过生成随机数来访问索引:

String[] available_cards = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Queen", "King", "Jack", "Ace"};  
java.util.Random random = new java.util.Random();
int random_computer_card = random.nextInt(available_cards.length);
System.out.println(available_cards[random_computer_card]);

答案 1 :(得分:1)

首先,我会为此创建一个Enum,因为它显然是一组预定义的常量值。

public enum Rank {
     ONE,
     TWO,
     ...,
     ACE;
}

然后在数组的边界中生成一个随机数(使用nextInt(int bound))并从枚举值数组中获取结果值。

Rank allRanks = Rank.values(); //get the array of ranks
int randomNum = new Random().nextInt(allRanks.length); //generate a random number in [0; allRanks.length-1]
Rank randomRank = allRanks[randomNum]; //get the random rank from the array

答案 2 :(得分:1)

您可以使用Random类。

像这样:

Random randomGenerator = new Random();
int randomInt = randomGenerator.nextInt(14);

然后根据您的数组切换randomInt

http://www.javapractices.com/topic/TopicAction.do?Id=62