【问题标题】:Can't figure out why my method isn't executing [duplicate]无法弄清楚为什么我的方法没有执行[重复]
【发布时间】:2014-11-10 20:20:38
【问题描述】:

下面是我正在编写的一个简单程序中的一个类的代码的 sn-p,它玩一个简单的二十一点游戏。 我不明白为什么每次执行程序时,我输入“hit”时,hit 方法都没有执行。无论我输入什么,它每次都会转到语句的 else 部分.我什至添加了一个 System.out.println 语句来确保字符串匹配。我觉得我一定犯了一个非常基本的错误,但我似乎无法弄清楚。

System.out.println("Would you like to hit or stand?");
    Scanner input = new Scanner(System.in);
    String playerDecision = input.nextLine();
    //System.out.println(playerDecision);

    if(playerDecision == "hit") {
        hit();
    }
    else { System.out.println("ERROR");

    }

}

public void hit(){
    player.makeHand(deck.draw());
    System.out.println("You have the following  cards: ");
    player.getHand();
    System.out.println("Your hand total is ");
    System.out.println(player.findHandTotal());

}

【问题讨论】:

  • 比较两个字符串时需要使用equals方法。
  • 字符串比较应该用equals方法。

标签: java if-statement methods


【解决方案1】:

错误的字符串比较。试试

if("hit".equals(playerDecision)) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多