我正在尝试编写一个简单的程序,该程序将要求用户输入数字并计算每个数字的阶乘,直到用户告诉程序停止为止。但是,由于某种原因,我的while循环的最后一部分(该问题应询问用户是否要继续)不等待用户输入,并且程序在计算出第一个阶乘后立即立即结束。我在其他程序中使用了相同的for循环来做类似的事情,但从未遇到过这个问题。究竟是什么原因导致的,我将如何解决它。
String goAgain;
long factNum;
Scanner input = new Scanner(System.in);
System.out.println("First things first, do you wish to use the program? (y/n)");
goAgain = input.nextLine();
while(goAgain.equalsIgnoreCase("y"))
{
System.out.println("Please enter the number you wish to find the factorial of.");
factNum = input.nextLong();
System.out.println();
System.out.println(factNum + "! is equal to " + factorial(factNum));
System.out.println();
System.out.println("Would you like to continue? (y/n)");
goAgain = input.nextLine();
}
应该等待用户输入是否要继续,但这只是在显示“您希望继续”之后立即结束程序。 here