2014-08-28 53 views
0

现在我正试图在定义完整卡组后显示随机卡片。我想知道是否沿线:尝试用java以奇怪的方式显示随机卡片

g.drawImage(card (int) * (Math.random() * 52), 10, this); 

将工作。当我尝试编译,我得到以下错误:

'.class' expected 

g.drawImage(card (int) * (Math.random() * 52), 10, this); 

我所试图做的,是因为我已经宣布52张名为card0 - card51,我是想看看我可以只写卡片,然后从卡片旁边获得 - 的随机数字。

我想知道这是一种显示随机卡的合法方式,或者如果我应该回到绘图板。

我是java的初学者,因此请不要理解很多术语,尽量保持您的答案简单。

感谢您提前提供的所有帮助。

+0

注意,'的Math.random()* 52'最终可能会连续两次返回相同的号码。 – Brian 2014-08-29 13:14:23

回答

4

不,这不是Java的工作方式。您不能使用在执行时确定的变量名称。

而不必单独52个的变量,你应该有一个数组或一个集合:

private final Random random = new Random(); 
private final Card[] cards = new Card[52]; 
// Populate the array in the constructor, or wherever 

... 

// When you want to draw the card... 
g.drawImage(cards[random.next(52)], 10, this); 
+0

非常感谢你!我现在试着去测试它,如果它能正常工作,它会回复。谢谢! – zeldaelf1 2014-08-28 18:03:14

+0

感谢它的工作。 – zeldaelf1 2014-08-28 18:09:26