read()方法如何执行两次

时间:2014-03-18 19:51:14

标签: java scjp

但我不明白为什么会这样?为什么read()方法执行两次?

 import java.io.*;
  public class asrts{
    public static void main(String argv[])throws Exception{
      StringReader sr=new StringReader("Kavp");
      sr.read();
      char c=(char)sr.read();
      System.out.println(c);
    }
  }

输出是" a"

请帮助

2 个答案:

答案 0 :(得分:2)

  sr.read();                  <--- call #1, returns "K" and loses it
  char c=(char)sr.read();
               ^^^^^^^^^--- call #2, returns "a"

答案 1 :(得分:1)

  

为什么read()方法正在执行两次?

因为你打了两次电话。