2014-10-27 64 views
-1

有人可以向我解釋爲什麼我得到第20行的錯誤嗎?對於二十一點遊戲中的循環錯誤

package play; 

import java.security.SecureRandom;

公共類卡座 { private int cardsInDeck; //卡片中剩餘的卡片數 私人卡片[]卡組; //在卡組中的卡片 private static final SecureRandom random = new SecureRandom();

public Deck() 
{ 
    deck = new Card[52];  //52 cards in a deck 
    int cardsUsed = 0; 

    for(int s = 0; s < 4; s++); //suit of card 
    { 
     for(int n = 1; n <= 13; n++)  //number of card 
     { 
      deck[cardsUsed] = new Card(n, s); **error is "s" on this line** 

      cardsUsed++; 
     } 
    } 
    cardsInDeck = 0; 
} 

public void shuffle() 
{ 
    for(int shuff = 51; shuff > 0; shuff--) 
    { 
     //select random # between 0 and 51 
     int second = random.nextInt(52); 

     //swap current card with new random card 
     Card temp = deck[shuff]; 
     deck[shuff] = deck[second]; 
     deck[second] = temp; 

    } 
    cardsInDeck = 0; 
} 

public int remainingCards() 
{ 
    //number of cards decrease as they are dealt. 
    return 52 - cardsInDeck; 
} 

public Card dealCard() 
{ 
    //deals a card from the deck 
    if(cardsInDeck == 52) 
     shuffle(); 
    cardsInDeck++; 
    return deck[cardsInDeck - 1]; 
} 

} //結束類甲板

回答

0

仔細看

for(int s = 0; s < 4; s++); //suit of card 
{ 
    ... 
} 

這個分號使得該變量s不要在下面的塊中聲明,這就是爲什麼錯誤發生下面的幾行。