我试图在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真的不能正确地做这么简单的事情,不是吗?
我在使用";Java with Maven";。然后我用";Java with Ant";,而不是";Java with Maven";,创建项目时。它解决了问题。