簡體   English   中英

Java - 在使用掃描儀獲取用戶輸入之前不顯示打印語句(NetBeans 問題?)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM