Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ';]';编写21点方法时应为_Java_Blackjack - Fatal编程技术网

Java ';]';编写21点方法时应为

Java ';]';编写21点方法时应为,java,blackjack,Java,Blackjack,下面是我的代码中有问题的部分。我遇到了一个问题,它说它需要一个“]”,我试图解决它,但没有用。有什么建议吗 while (hitOrStay.equalsIgnoreCase("hit")) { Card temp[hitOrStayCounter] = cardDeck.deal(); // issue occurs on this line System.out.println("You are delt a " + temp[hitOrSta

下面是我的代码中有问题的部分。我遇到了一个问题,它说它需要一个“]”,我试图解决它,但没有用。有什么建议吗

 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(); 
      }
以下是具体错误:


错误:']'应为

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

  • 使用ArrayList而不是数组。应该这样做,因为ArrayList可以继续扩展,而数组必须初始化为特定大小。这是必要的,因为有人可以打任意多的球
  • 将ArrayList置于while循环之外。通过在while循环中定义变量,它会随着循环的每次迭代而被覆盖
您可以继续使用数组,但仍应在while循环之外声明和初始化它。如果使用数组,请确保设置的大小足以处理多个点击。如果继续使用数组,则应使用以下格式:


Card[]temp=新卡[x]
试试这个。你的循环没有什么意义

 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")) 
   }

你能在定义和初始化
temp
hitOrStayCounter
的部分中添加吗?还有,
cardDeck.deal()
的代码是什么?我打赌cardDeck.deal()中有一个编译错误(在deal()方法中),我们需要SimplePanda建议的相应源代码。还有,你是说“ketboard”吗而不是“键盘”?最后,这看起来像是一个家庭作业——如果你要把它展示给一个说英语的教授,你可能想重新思考方法名
getBJ
,因为它在英语中有粗俗的含义(至少在美式英语中是如此)。“它说它期待一个“]”——什么是“它”?编译程序?运行时间?节目?当地的童子军?任何时候你有错误,张贴错误。每当你写问题的时候,假设我们不知道你在做什么。您也可以告诉我们您尝试了什么,因此我们不会告诉您再试一次。如果我的答案有助于解决您的问题,请单击我的答案旁边的复选标记。欢迎来到SO!
  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")); 
   }