Java print() 在 println() NetBeans 之前不打印

Java print() not printing until println() NetBeans

我今天刚刚安装了 NetBeans 12.6,我在下面粘贴的代码中遇到了 System.out.print() 的问题。由于某种原因,removeValue 中的 print() 直到 main 中 for 循环中的 println() 才会打印。当我在 BlueJ 中 运行 这段代码时,一切正常。我的 NetBeans 有问题吗??

所需的输出类似于:

Enter index: 2
1
3

相反,它看起来像:

2
Enter index: 1
3

package e.mavenproject1;
import java.util.Scanner;

public class NewClass {
    static Scanner input = new Scanner(System.in);
    
    public static void main(String[]args) {
        int[] array = {1, 2, 3};
  
        array = removeValue(array);
    
        for (int i = 0; i < array.length; i++) {
           System.out.println(array[i]);
        }
    }

    public static int[] removeValue(int[] array) {
         System.out.print("Enter index: ");
         int index = input.nextInt() - 1;

         int[] copy = new int[array.length - 1];

         for (int i = 0, j = 0; i < array.length; i++) {
             if (i != index) {
                 copy[j++] = array[i];
             }
         }
         return copy;
     }
}

print() 将字符串添加到 PrintStream 而不刷新它。如果你想要它刷新你需要在它之后添加 flush() 命令。 println() 会自动刷新它,所以这也可以工作。另外,需要说明的是,这不是错误。