2014-08-28 3 views
0

지금은 전체 데크를 정의한 후 임의의 카드를 표시하려고합니다. 나는 라인을 따라 무언가가 있는지 궁금 해서요 :이상한 방법으로 임의의 카드를 Java로 표시하려고 시도했습니다

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

가 작동합니다. 나는 이것을 컴파일하려고하면, 다음과 같은 오류가 발생합니다 : 내가 card0라는 이름의 52 개 카드 선언 한 이후

'.class' expected 

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

내가 여기서 뭘 시도하고있다 - card51, 내가 있는지 확인하기 위해 시도되었다 I 카드를 쓸 수만 있다면 - 카드 옆에서 임의의 숫자를 얻을 수 있습니다.

이 카드가 임의의 카드를 표시하는 합법적 인 방법인지 아니면 카드를 다시 사용해야하는지 궁금합니다.

저는 초보자이기 때문에 많은 용어를 이해하지 못하므로 답변을 간단하게하십시오.

미리 도움을 주셔서 감사합니다.

+0

참고. – Brian

답변

4

아니요, Java 작동 방식이 아닙니다. 실행시 결정된 변수 이름을 사용할 수 없습니다.

대신 52 개 별도의 변수를 갖는, 당신이 배열 또는 컬렉션 있어야`인 Math.random() * 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

+0

감사합니다. – zeldaelf1

관련 문제