import java.io.*;   //需要的class java_in{
  static int i;
  public static void main(String args[]){
    
    try
    {
     i=System.in.read();
         System.out.println("I="+i);   // <<---这句报不会出错了          
   }
   catch(IOException e)   //catch 在io中很重要的
   {}
  }
}

解决方案 »

  1.   

    楼上的说得对你调用io包下的方法但是没有引入io包而且在使用read方法的时候,需要捕捉抛出的异常
      

  2.   

    class java_in
    应该是:
    public class java_in
      

  3.   

    同意SailorK(soul of the sea)
      

  4.   

    你最好在main中建一个java_in的对象a,然后
    a.i = system.in.read();试试看。
      

  5.   

    回SailorK(soul of the sea):
        我照你说的重写了遍现是不报错了,可输入和输出的数字不一样呀.输入0他给我输出40几.何解?谢谢
      

  6.   


    System.out.println("I="+i);
    改成
    System.out.println("I="+(char)i);
      

  7.   

    这个方法一次只能从系统平台上读取一个字符,你可以用循环来读取
       boolean ok=false;
       String str="";
       int n;
       
    try
    {
        while(!ok)
        {
           n=System.in.read();
           if(n<0||(char)n=='/n')
             ok=true;
           else
              str+=(char)n;
        }catch(IOException)
        {
            ok=true;
         }
    }
      

  8.   

    不好意思,有错了~!应该是~!while(!ok)
    {
        try
        {
           n=System.in.read();
           if(n<0||(char)n=='/n')
             ok=true;
           else
              str+=(char)n;
        }catch(IOException)
        {
            ok=true;
         }
    }
      

  9.   

    我综合了楼上各位兄弟的建议
    修改程序如下:(可满足楼主的要求) bafce(bafce)  
     painAndhappy((痛并快乐着))  
     两位兄弟的建议不错,有收获import java.io.*;   class java_in{
      static int i;     
      public static void main(String args[]){
        boolean ok=false;
        String str="";
        
        while(!ok)
        {
            try
           {
           i=System.in.read();
           if((char)i=='\n')
             ok=true;
           else
              str+=(char)i;
           }
        catch(IOException e)
        {
            ok=true;
         }
       }
         System.out.println("I="+str);        
      }
    }
      

  10.   

    System.in.read();
    读入的是int类型的,对应的是ASCII表,查查每本程序设计的书后面都有的
    楼主不信可以把我一楼的程序运行,对应着ASCII表看看
      

  11.   

    没问题只要导入了java.io.*,然后再捕获IOException异常就可,不过一次
    只能读到一个字符(如果输入多个其它的作废),而且返回的是相应的acsii
    值。
      

  12.   

    i=System.in.read();
    有什么作用?