BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s=br.readLine();
c=Integer.parseInt(s);

解决方案 »

  1.   

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    int c = br.read();//返回的是输入字符的ASCIIString line=br.readLine();
      

  2.   

    import java.io.*;public class LineIn{
        public static void main(String[] args) throws IOException{
        
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        
         System.out.print("input 3 number>");
         String line = in.readLine();
         int x = Integer.parseInt(line);
         line = in.readLine();
         int y = Integer.parseInt(line);
         line = in.readLine();
         int z = Integer.parseInt(line);
        
       System.out.println(x+y+z);   
       }
    }
      

  3.   

    首先,你要清楚一点,Java的I/O是依赖于流的。你用read()方法得到的是一个字符流,也就是说你输入“10回车”,得到的是‘1’、‘0’和‘\n’这三个字符,而不是一个int型的数10。
    Java没有提供一种输入方法来从键盘读入一个字符串,然后自动转换为相应的数据类型。要做到这个,要使用类型包装器(type wrapper):Double、Float、Long……。具体到你的问题,要用Integer。代码如下:int n;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    n = Integer.parseInt(str);类似的,要想得到double型,就用
    Double.parseDouble(str);
    ………