0
 while (hitOrStay.equalsIgnoreCase("hit"))
      {

        Card temp[hitOrStayCounter] = cardDeck.deal(); // issue occurs on this line
        System.out.println("You are delt a " + temp[hitOrStayCounter].getBJ()); 
        hitOrStayCounter++;
        System.out.println("Would you like to hit again?"); 
        hitOrStay = ketboard.next(); 
      }

这是我有问题的代码段。我遇到了一个问题,它说它期待一个']',我试图修复它无济于事。有什么建议么?

 public Card deal()
 {
    nextCard++;
    return deck[nextCard-1];
 }  
public static void main(String[] args)  
  {
   int hitOrStayCounter=5;
   Bankroll money = new Bankroll();
   Deck cardDeck = new Deck(); 
   Scanner keyboard = new Scanner(System.in); 
   System.out.println("Would you like to play?"); 
   String playGame = keyboard.next(); 
   while (playGame.equalsIgnoreCase("yes")) 
   }

这也是具体的错误:

错误:“]”预期

4

2 回答 2

0

问题是您试图在数组定义中声明数组大小。数组大小应在等号右侧初始化。根据我对二十一点的了解,我可以提供以下建议:

  • 使用 ArrayList 而不是数组。应该这样做,因为 ArrayList 可以继续扩展,而数组必须初始化为特定大小。这是必要的,因为有人可以随心所欲地击打。
  • 将 ArrayList 放在 while 循环之外。通过在 while 循环中定义变量,它会被循环的每次迭代覆盖。

您可以继续使用数组,但仍应在 while 循环之外声明和初始化它。如果您使用数组,请务必设置一个足够大的大小以处理多个命中。如果继续使用数组,则应使用以下格式:

Card[] temp = new Card[x]

于 2013-11-18T17:23:14.260 回答
0

尝试这个。你的循环意义不大。

  public static void main(String[] args)  
    {
        do{   
          int hitOrStayCounter=5;
          Bankroll money = new Bankroll();
          Deck cardDeck = new Deck(); 
          Scanner keyboard = new Scanner(System.in); 
          System.out.println("Would you like to play?"); 
          String playGame = keyboard.next(); 
        }while (playGame.equalsIgnoreCase("yes")); 
   }
于 2013-11-18T17:26:51.207 回答