Java -在使用scanner获取用户输入之前不显示print语句(NetBeans问题?)

deikduxw  于 2022-11-10  发布在  Java
关注(0)|答案(1)|浏览(154)

我尝试在NetBeans 12.6中进行一个非常简单的用户输入,我提出一个问题并让用户回答它。当我使用System.out.println(“QUESTION”)来显示问题时,一切都正常,但当我切换到System.out.print(“QUESTION”)时,代码就不能正常运行了。完整的代码如下。

import java.util.Scanner;
public class SimpleInput {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter your name: "); 
        String userName = scan.nextLine();
        System.out.println("Your name is " + userName);
    }
}

预期行为(和实际行为):

Enter your name: 
Ryan
Your name is Ryan

但是--当我切换到print而不是println时,它会在询问问题之前等待用户输入!完整代码如下。

import java.util.Scanner;
public class SimpleInput {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter your name: "); 
        String userName = scan.nextLine();
        System.out.println("Your name is " + userName);
    }
}

所需行为:

Enter your name: Ryan
Your name is Ryan

实际行为:

Ryan
Enter your name: Your name is Ryan

我应该为一门大学课程重新创建一些东西,在这门课程中,用户输入与问题收集在同一行,所以简单地使用println而不是print在这里不是一个选项。根据围绕SO的其他搜索,这可能是NetBeans的问题,而不是我的代码中的问题。但是,这似乎...很疯狂... NetBeans真的不能正确地做这么简单的事情。不是吗?

06odsfpq

06odsfpq1#

我在使用“带有Maven的Java”时也遇到了同样的问题。然后我在创建项目时使用“带有Ant的Java”,而不是“带有Maven的Java“。它解决了这个问题。

相关问题