2012-12-04 2 views
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); 
     } 
    } 

이것은 자바 파일에 오류가있는 부분입니다. 실제 프로그램에는 모든 구성 요소가 있습니다.

답변

3

메서드 매개 변수로 값을 전달할 때는 해당 형식이 아닌 개체의 이름 만 포함해야합니다.

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

감사합니다. 나는 그것을 잊어 버린 것에 어리 석다. – GoldenLyfe

+0

그 다음 당신은 약간의 잠을 필요로하는 것처럼 들린다) 어떻게해서든지 도움이 되었기 때문에 기쁘다. 답변을 수락 된 것으로 표시하는 것을 잊지 마십시오. – Vulcan

0

당신은 그 라인에 BlackJackHand playerHand 말을 할 필요가 없습니다. 플레이어 만 할거야.

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

+1

"필요하지 않습니다"라고하지 않으면 * 할 수 없습니다. –

+0

오른쪽. 설명 주셔서 감사합니다 =). – awolfe91

1

변화를 줄 당신은 이미 생성 된 객체의 이름을 전달해야합니다. 클래스 이름을 사용할 필요가 없습니다.

1

분명히 구문 오류입니다. 메소드 호출은 다음과 같습니다

blackjackplayer = checkForBlackJacks(playerhand); 

하지이

blackjackplayer = checkForBlackJacks(BlackJackHand playerhand); 

이 오류 메시지에 대한 문자 위치에서 보면, 그것은 playerHand 심볼의 위치에서 가장 가능성이 높습니다 .. THAT 기호가 ')' 일 것으로 기대하고 있다고 알려줍니다. 오류 메시지를 이해하지 못하면 문자 그대로의 의미로 읽는 것이 좋습니다.