所以,我正在創建一個基本的“拱廊”項目。我有傳遞到游戲中的卡片(方法)。我在 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)); } } 我認為這可能是因為我試圖在另一個方法的參數中調用一個方法。所以我嘗試從其他類調用它,但它仍然給出了找不到符號的錯誤。
2 回答
白板的微信
TA貢獻1883條經驗 獲得超3個贊
Card.chooseCard(card1, card2)意味著調用靜態方法。你可能想聲明chooseCard為
public static Card choosecard(Card firstCard, Card secondCard)
瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
public Card choosecard(Card firstCard, Card secondCard)
它不是靜態方法。
Game.GuessGame(Card.chooseCard(card1, card2));
但是Card.chooseCard(card1, card2)意味著你是靜態調用它。
考慮將其設為靜態或通過對象調用。
添加回答
舉報
0/150
提交
取消
