[英]Java Scanner - asks for user input before print() statement
[英]Java - Not displaying print statement before getting user input with scanner (NetBeans issue?)
我試圖在 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”。 它解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.