簡體   English   中英

即使聲明方法也無法識別

[英]Method not being recognized even when declared

所以,我正在創建一個基本的“拱廊”項目。 我有傳遞到游戲中的卡片(方法)。 我在 Card 類中創建了一個方法,以便能夠選擇用於游戲的卡片。

public Card choosecard(Card firstCard, Card secondCard) {

   Scanner input = new Scanner(System.in);

   Card chosen = new Card();
   boolean check = false;

   while(check == false) {

   System.out.println("What card would you like to use?\n  1. " + firstCard.name + "\n  2. " + secondCard.name);
   int answer = Integer.parseInt(input.nextLine());

   if(answer == 1) {
       chosen = firstCard;
       check = true;
   }
   else if(answer == 2) {
       chosen = secondCard;
       check = true;
   }
   else {

   }

   } //while

   return chosen;

創建此方法后,我嘗試在此上下文中調用它:

public static void terminal(Card card1, Card card2) {

    boolean loop = true;
    while(loop == true) {

    System.out.println("What would you like to do?\n1. Guess Game\n2. Transfer\n3. Prizes\n4. Cancel");
    Scanner take = new Scanner(System.in);
    int answer = Integer.parseInt(take.nextLine());

    switch(answer) {

        case 1: 
            Game.GuessGame(Card.chooseCard(card1, card2));

    }

    } 

我認為這可能是因為我試圖在另一個方法的參數中調用一個方法。 所以我嘗試從其他類調用它,但它仍然給出了找不到符號的錯誤。

謝謝你。

public Card choosecard(Card firstCard, Card secondCard)

它不是靜態方法。

Game.GuessGame(Card.chooseCard(card1, card2));

但是Card.chooseCard(card1, card2)意味着您正在靜態調用它。

考慮將其設為靜態或通過對象調用。

Card.chooseCard(card1, card2)表示調用靜態方法。 你可能想聲明chooseCard

public static Card choosecard(Card firstCard, Card secondCard)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM