Java 扫描仪阻止System.out打印的问题

Java 扫描仪阻止System.out打印的问题,java,Java,我在尝试将输入作为字符串时遇到了一个错误,但每当我使用Scanner的nextLine功能时,都会导致System.out.print或println的下一行(或几行)在大约3个随机字符串之前根本不显示。我正在为我的计算机科学课做一个家庭作业,这个作业对作弊非常严格,所以为了简单起见,我将上传一个完全不相关但类似的例子来说明我的问题 import java.util.Scanner; public class Test { static Scanner reader = new Sca

我在尝试将输入作为字符串时遇到了一个错误,但每当我使用Scanner的nextLine功能时,都会导致System.out.print或println的下一行(或几行)在大约3个随机字符串之前根本不显示。我正在为我的计算机科学课做一个家庭作业,这个作业对作弊非常严格,所以为了简单起见,我将上传一个完全不相关但类似的例子来说明我的问题

import java.util.Scanner;

public class Test {
    static Scanner reader = new Scanner(System.in);
    public static void main(String[] args)
    {
        String floor = reader.nextLine();

        if(floor.equals("F")){
            String floorName = "";
            System.out.print("Enter floorname:");
            floorName = reader.nextLine();
        }
    }
}
我还使用IntelliJ Idea作为编译器的IDE和Gradle,我不确定这是否会影响这一点,但我认为这是相关信息

为供参考,本报告输出:

F(用户输入F)

f(用户输入)


进入楼层名称:(这会很晚出现)

我不会这样做。“输入楼层名称:”在我输入“F”并按Enter键后立即显示。在
System.out.print之后(“输入楼层名称:”)添加
系统.out.flush()
。缓冲输出似乎是个问题。请学习堆栈溢出是如何工作的,并阅读如何提高问题的质量。然后,你的问题包括你的源代码作为一个,它可以被其他人编译和测试。您的“类似示例”没有显示您描述的问题。添加您的实际源代码,这些源代码存在您在问题中描述的问题。还请记住,您必须按“回车”键才能读取一行。在此之前,您的代码将等待
nextLine()
方法完成。@Progman它可能不在您的IDE中,但在我的IDE中确实存在。@Ryotsu尝试了System.out.flush(),结果仍然相同。