我尝试在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真的不能正确地做这么简单的事情。不是吗?
1条答案
按热度按时间06odsfpq1#
我在使用“带有Maven的Java”时也遇到了同样的问题。然后我在创建项目时使用“带有Ant的Java”,而不是“带有Maven的Java“。它解决了这个问题。