import java.io.* ;
public class Test1 {
 public static void main (String args[]) {
  System.out.print("Input:");
 int i = 0  ;
 
  try {
    i = System.in.read();
  }
    catch(IOException e) { 
    e.printStackTrace(); 
  }
  System.out.println(i)  ;   
 } 
}

解决方案 »

  1.   

    换Scanner能解决。import java.util.Scanner;
    public class Test1 
    {
    public static void main (String args[]) 
    {
    Scanner scan=new Scanner(System.in);
    System.out.print("Input:");
    int i = 0 ;
    i = scan.nextInt();
    System.out.println(i) ;   
    }  
    }
      

  2.   

    这样也行,楼主参考下:import java.io.* ;
    import java.util.Arrays; //仅供显示用。
    public class Test1 
    {
    public static void main (String args[]) 
    {
    System.out.print("Input:");
    int i = 0 ;
    byte[] input=new byte[10]; //定义一个10个长度字节数组.
    try 
    {
    i = System.in.read(input); //从键盘接收输入,i是实际读入长度。
          }
    catch(IOException e)
    {  
      e.printStackTrace();
    }
    int number=0;
    for(int j=0;j<i-2;j++) //去掉回车换行。
    {
    number=number*10+((int)input[j]-48); //循环把ascii码转成数字。
    }
    System.out.println("input is  "+Arrays.toString(input));
    System.out.println("number is: "+number) ;   
    }  
    }
      

  3.   

    自己使用BufferReader实现接受键盘输入 以后每次用就可以  Scanner也提供了相应的输入方法 用也可以 不过效率不太高