0

次のようなエラーが発生します。

Test. java:8 :')' expected
Test. java: 8: error :illegal start of expression
Test. java:9 :')' expected
Test. java: 9: error :illegal start of expression

8 行目と 9 行目は次のとおりです。

blackjackplayer = checkForBlackJacks(BlackJackHand playerhand);
blackjackdealer = checkForBlackJacks(BlackJackHand dealerhand);

クラスは次のとおりです。

  public class Test{
        public void playround (){
                int temp = -1;
                playerhand = new BlackJackHand(22);
                dealerhand = new BlackJackHand(22);
                addCards(playerhand, 2);
                addCards(dealerhand, 2);
                blackjackplayer = checkForBlackJacks(BlackJackHand playerhand);
                blackjackdealer = checkForBlackJacks(BlackJackHand dealerhand);
                while(temp!=2&&playerhand.gettotal()<=21){
                    printHands(false, true, true);
                    temp = Prompt.getInt("\nPress 1 to hit, or 2 to stand. ", 1, 2);
                    if (temp==1&&playerhand.gettotal()<=21){
                        addCards(playerhand,1);
                    }
                }
                if (playerhand.gettotal()>21){
                    playerbust = true;
                }
                else{
                    seeWhoWon();
                }
                    //done = true;
        }
        public boolean checkForBlackJacks (BlackJackHand x){
            return (x.gettotal()==21&&x.getmyhand().size()==2);
        }
    }

これは、エラー部分を含む単なる Java ファイルです。実際のプログラムにはすべてのコンポーネントがあります。

4

4 に答える 4

3

値をメソッド パラメーターとして渡す場合は、オブジェクトの型ではなく、オブジェクトの名前のみを含める必要があります。

blackjackplayer = checkForBlackJacks(playerhand);
blackjackdealer = checkForBlackJacks(dealerhand);
于 2012-12-04T03:26:09.433 に答える
1

行を次のように変更します

blackjackplayer = checkForBlackJacks(playerhand);
blackjackdealer = checkForBlackJacks(dealerhand);

作成済みのオブジェクト名を渡すだけです。クラス名を使用する必要はありません。

于 2012-12-04T03:26:26.337 に答える
1

これは明らかに構文エラーです。メソッド呼び出しは次のようになります。

blackjackplayer = checkForBlackJacks(playerhand);

これではない

blackjackplayer = checkForBlackJacks(BlackJackHand playerhand);

エラー メッセージの文字位置を見ると、playerHandシンボル ... の位置にある可能性が最も高く、そのシンボルが')'. エラーメッセージを理解できない場合は、文字通りの意味で読んでみると役立つことがよくあります...

于 2012-12-04T03:26:27.483 に答える
0

これらの行で BlackJackHand playerHand と言う必要はありません。playerHand だけで十分です。

于 2012-12-04T03:26:15.873 に答える