即使声明也无法识别方法

  • 本文关键字:识别 方法 声明 java
  • 更新时间 :
  • 英文 :


所以,我正在创建一个基本的"街机"项目。我有传递到游戏(方法(中的卡。我在 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 Gamen2. Transfern3. Prizesn4. Cancel");
Scanner take = new Scanner(System.in);
int answer = Integer.parseInt(take.nextLine());
switch(answer) {
case 1: 
Game.GuessGame(Card.chooseCard(card1, card2));
}
} 

我认为这可能是因为我试图在另一个方法的参数中调用一个方法。所以我尝试从其他类调用它,但它仍然给出找不到符号错误。

谢谢。

>Card.chooseCard(card1, card2)的意思是调用静态方法。您可能希望将chooseCard声明为

public static Card choosecard(Card firstCard, Card secondCard)

public Card choosecard(Card firstCard, Card secondCard)

它不是一个静态方法。

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

Card.chooseCard(card1, card2)意味着您正在静态调用它。

考虑将其设置为静态或通过对象调用。

最新更新