在 Java 中选择一张随机卡
Selecting a Random Card in Java
我是 java 编程的新手,并已开始创建扑克游戏。到目前为止,已经创建了卡片和套牌,但我希望能够 select 随机卡片,但我不想洗牌。
到目前为止,这是我的代码:
import java.util.ArrayList;
import java.util.List;
public class PockerMain {
public PockerMain() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
List<PokerCard> deck = cardDeck();
for (int i = 0; i < deck.size(); i ++)
{
PokerCard card = deck.get(i);
System.out.println(card);
}
}
private static PokerCard createCard (short suit, short rank)
{
PokerCard card = new PokerCard (suit, rank);
return card;
}
private static List<PokerCard> cardDeck ()
{
List<PokerCard> deck = new ArrayList<PokerCard> ();
for (int i = 0; i < 4; i ++)
{
for (int j = 0; j < 13; j ++)
{
PokerCard card = createCard ((short)i, (short)j);
deck.add(card);
}
}
return deck;
}
}
尝试使用 Random.nextInt,它将给出 0 到 n-1 之间的随机数。所以像:
Random random = new Random();
int nextCardToPick = random.nextInt(deck.size());//get random number in range 0 - deck.size (assuming 52 cards then it will give value between 0 -51)
System.out.println(deck.get(nextCardToPick));//access by index
不使用随机对象:
PokerCard rCard = deck.get((int)(Math.random()*deck.size()));
我是 java 编程的新手,并已开始创建扑克游戏。到目前为止,已经创建了卡片和套牌,但我希望能够 select 随机卡片,但我不想洗牌。
到目前为止,这是我的代码:
import java.util.ArrayList;
import java.util.List;
public class PockerMain {
public PockerMain() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
List<PokerCard> deck = cardDeck();
for (int i = 0; i < deck.size(); i ++)
{
PokerCard card = deck.get(i);
System.out.println(card);
}
}
private static PokerCard createCard (short suit, short rank)
{
PokerCard card = new PokerCard (suit, rank);
return card;
}
private static List<PokerCard> cardDeck ()
{
List<PokerCard> deck = new ArrayList<PokerCard> ();
for (int i = 0; i < 4; i ++)
{
for (int j = 0; j < 13; j ++)
{
PokerCard card = createCard ((short)i, (short)j);
deck.add(card);
}
}
return deck;
}
}
尝试使用 Random.nextInt,它将给出 0 到 n-1 之间的随机数。所以像:
Random random = new Random();
int nextCardToPick = random.nextInt(deck.size());//get random number in range 0 - deck.size (assuming 52 cards then it will give value between 0 -51)
System.out.println(deck.get(nextCardToPick));//access by index
不使用随机对象: PokerCard rCard = deck.get((int)(Math.random()*deck.size()));