有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java While循环跳过if语句?

这是一个运行康威生命模拟游戏的程序。 主要方法如下:

public static void main(String Args[]) {
    int x = 0;
    int y = 0;
    boolean cellState[][] = new boolean[][]{};
    boolean newCellState[][] = new boolean[][]{};
    String answer;
    Scanner input = new Scanner(System.in);

    while (true) {
        System.out.print("\n Type anything for next generation, 'new' for new grid, or 'stop' to end>> ");
        answer = input.nextLine();
        if (answer == "new") {
            cellState = newCells(cellState);
        } else if (answer == "stop") {
            break;
        } else {
            System.out.println("Not an option yet");
        }
    }
}

无论输入什么答案,它都会跳过if语句,返回循环的开头

据我所知,它与语句的实际内容无关,但可能与布尔表达式有关


共 (1) 个答案

  1. # 1 楼答案

    应该使用^{}来比较Strings==
    ==用于检查对象引用,而.equals()检查String
    使用:if(answer.equals("new"))你应该是金色的
    它已经被解释得非常透彻