Java System.out.flush()未刷新标准输出缓冲区

Java System.out.flush()未刷新标准输出缓冲区,java,writing,Java,Writing,我用于计算nCrTable的代码即使包含了System.out.flush(),也不会刷新stdout,这是刷新问题还是其他问题 当nHard相信时,它会给出正确的输出。实际上不可能。flush()方法不知道循环计数器的值。我认为问题出在其他地方。你是如何处理这个问题的?这可能是终端/IDE控制台的问题。为什么你认为flush()不是flush?@ring bearer我正在eclipse(luna)上运行这段代码…右键单击控制台>首选项>控制台缓冲区大小,并将其设置为一个非常大的数字,看看是否

我用于计算nCrTable的代码即使包含了
System.out.flush()
,也不会刷新
stdout
,这是刷新问题还是其他问题


nHard相信时,它会给出正确的输出。实际上不可能。flush()方法不知道循环计数器的值。我认为问题出在其他地方。你是如何处理这个问题的?这可能是终端/IDE控制台的问题。为什么你认为flush()不是flush?@ring bearer我正在eclipse(luna)上运行这段代码…右键单击控制台>首选项>控制台缓冲区大小,并将其设置为一个非常大的数字,看看是否有帮助
package nCrTable;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class solution {

     public static void main(String args[]) throws IOException{
        Scanner sc=new Scanner(System.in);
        int count=sc.nextInt();
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        for(int i=0;i<count;i++){
            makenCr(sc.nextInt(),bw);
        }
        sc.close();
    }
    public static void makenCr(int n,BufferedWriter bw) throws IOException{

        int nCr[]=new int[(n+2)/2];
        long amount=1;
        nCr[0]=1;
        int no=1000000000;
        System.out.print(nCr[0]+" ");
        System.out.flush();
        int i;
        for( i=1;i<(n+2)/2;i++){
            nCr[i]=(int)((amount*(n-i+1)/i)% no);
            amount=nCr[i];
            System.out.print(nCr[i]+" ");
            System.out.flush();
        }
        while(i<n+1){
            System.out.print(nCr[n-i]+" ");
            System.out.flush();
            i++;
        }
        System.out.println();
    }
}