我正在制作一个生命游戏计划,它的早期阶段。当我运行程序并进入“你想要制作......”并输入“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();
答案 0 :(得分:2)
对于Java中的字符串比较,您需要使用String#equals
,而不是==
。请改为if (userInput.equals("y")) { ...
。