为什么这个if语句没有表现我的想法呢?

时间:2014-11-04 03:28:27

标签: java if-statement keyboard java.util.scanner conways-game-of-life

我正在制作一个生命游戏计划,它的早期阶段。当我运行程序并进入“你想要制作......”并输入“y”时,它将转到else,打印test3的test语句,然后结束程序。我在俯瞰什么?

public static void main(String[] args) {

    Scanner kb = new Scanner(System.in);

    String userInput = "";
    char[][] initialGrid = new char[25][75];
    char[][] world = makeInitialGrid(kb, userInput, initialGrid);
    printGrid(world);
    userInput = "y";
    while (userInput == "y"){
        System.out.println("Do you want to make a new generation? (y) yes (n) no");
        userInput = kb.nextLine();
        System.out.println(userInput);
        if (userInput == "y"){
            System.out.println("test1");
            int numOfNeighbors = findNeighbors(world, 6, 2);
            System.out.println("test2");
            System.out.println(numOfNeighbors);
            //makeNewGeneration(world);
        } else {
            System.out.println("test3");
            break;

        }
    }
    kb.close();

1 个答案:

答案 0 :(得分:2)

对于Java中的字符串比较,您需要使用String#equals,而不是==。请改为if (userInput.equals("y")) { ...