System.in必定是一个String,所以你readInt当然会有问题
应该改为
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
int input = Integer.parseInt(line);

解决方案 »

  1.   

    public final int readInt() throws IOException从当前数据输入流中读取一个有符号的 32 位整数。 此方法从基本输入流中读入四个字节。 如果读入的字节,顺序为 b1, b2,b3 和 b4, 满足 0 <= b1, b2,b3,b4 <= 255, 那么结果等于: 
    (b1 << 24) | (b2 << 16) + (b3 << 8) +b4 
    该方法将一直阻塞,直到此四个字节数据被读入,或检测到了数据流尾或抛出异常。 
    返回值: 
    当前输入流的下四个字节,解释为一个 int。 
    抛出: EOFException 
    如果在读入四个字节前到达了文件尾。 
    抛出: IOException 
    如果发生某个 I/O 错误。
      

  2.   


    b[i]== Integer.parseInt(br.readLine());
      

  3.   

    如果你用JDK5.0
    可以这样
    Scanner sc = new Scanner(System.in);
         int i = sc.nextInt();