BufferedReader输入问题,String读取

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class B1052 {
    public static void main(String[] args) throws Exception {
        BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
/*      String hand = rd.readLine();
        String eye = rd.readLine();
        String mouth = rd.readLine(); */
        int n = rd.read() - '0';
        while (n > 0)
        {
            String emoIn = rd.readLine();
            String newemoIn = emoIn + " ";
            System.out.print(newemoIn);
            n--;            
        }       
        rd.close();
    }
}


如果输入n = 1, 再按回车,就会停止输入,debug看是,emoIn = "",
newemoIn = " ";
如果输入:
4
123(前面的空格是代码加的)
则输出:123
不懂为什么会这样?我不希望前面有空格

我想的是
4
1 2 3
输出
1 2 3 (3后面加空格)

readLine()只有看到你的换行符才会读到这一行啊,你4换行123 这样它只能看到4后的换行符 123后的换行符需要你点下enter键表示换行才能读到

什么意思,你是希望你的程序会一直处于读取状态么?现在你的方法写的就只会读一次 读完就结束了,如果要一直读需要你改成死循环读取