请大家帮忙看一下这个程序,我将num赋值为3之后,想依次输入num次字符串到a,再读取其中的第0个元素,但是第一次读取的却是3,以后读取时便恢复正常,请教各位出现这种现象的原因,以及解决方法,多谢import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;public class YourTermProject {
  
    public static void main(String[] args) {
int num=0;
String a=null; 
char c;BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
try{
String str = in.readLine();
num = Integer.parseInt(str.trim());
}
catch(IOException e){
System.exit(1);
}while(num--!=0)
{
try{
a=in.readLine();
}
catch(IOException e){
System.exit(1);
}
c=a.charAt(0);
System.out.println(c);
}
    
    }}输入和输出:
3
ABCD
3
BC
B
DDD
D

解决方案 »

  1.   

    我在输入了num的制之后,比如输入3,这个值似乎还存在于输入流之中,而下次再想给字符串a赋值时,输入ABCD,存入的仍然是3.
    解释一下结果
    3       //输入次数
    ABCD    //输入字符串
    3       //这里本来想要输出的是首字母A,却仍然显示3
    BC
    B
    DDD
    D
      

  2.   

    我运行你的代码没有问题5
    qwer
    q
    eee
    e
    ttt
    t
    uuukhgkh
    u
    jhkhjk
    j
    你是要这样的效果对吧
      

  3.   

    我是在用Jcreator编控制台程序
      

  4.   

    我用命令行输入没有问题,结果是我想要的,但是用Jcreator则不行,不知道是我不了解Jcreator的某些机制,还是我没将它配置好