初学java
编写一个ReadNumber 类/////////////源程序//////////////
package user;
import java.io.*;
public class ReadNumber{
 private static String str;
 private static boolean error;
 public static int readInteger(){
   BufferedReader in=new BufferedReader( new InputStreamReader(System.in));
   error=false;
   do{ System.out.flush();
       try { str=in.readLine();
       } catch(IOException e){
         System.out.println(e);
         System.exit(1);
       }
       if(str.length()==0)error=true;
       else try { return Integer.valueOf(str).intValue();
             } catch(NumberFormatException e){
                 System.out.println(e);
                 System.out.print("Please re-input a integer:");
                 error=true;
             }
       }while(error);
       return Integer.valueOf(str).intValue();
       }
       
       public static float readFloat(){
         BufferedReader in=new BufferedReader( new InputStreamReader(System.in));
         error=false;
         do{ System.out.flush();
         try{ str=in.readLine();
         } catch(IOException e){
           System.out.println(e);
           System.exit(1);
         }
         if(str.length()==0) error=true;
         else try{ return Float.valueOf (str).floatValue();
         } catch(NumberFormatException e){
                System.out.println(e);
                System.out.print("Please re-input a float:");
                error=true;
         }
 }while(error);
 return Float.valueOf(str).floatValue();
  }
}
           
/////////////////////////////////测试未通过,提示信息:“Can not access ReadNumber”
///////////////测试类源程序//////////////
import user.*;
class Test {
public static void main(String[] args){
int i ;
float j;
i=ReadNumber.readInteger() ;
j=ReadNumber.readFloat() ;
System.out.println(i);
System.out.println(j); 
}
}
/////////////////////////////////////////

解决方案 »

  1.   

    ReadNumber 本身没有问题 
    测试未通过,提示信息:“Can not access ReadNumber”   是你不能访问那个类
    估计是环境变量的问题或者是引用 打包的问题 
    package user;//这样试下,或者main函数直接放ReadNumber类里面去
    class Test {
    public static void main(String[] args){
    int i ;
    float j;
    i=ReadNumber.readInteger() ;
    j=ReadNumber.readFloat() ;
    System.out.println(i);
    System.out.println(j); 
    }
    }
      

  2.   

    不行,按照您的办法试过了,结果都是出现提示:
    cannot resolve symbol method readInteger()
    cannot resolve symbol method readFloat()
    我用的编译环境是Jcreator
      

  3.   

    编译过了,生成一个user包,还是没用Can not access ReadNumber
      

  4.   

    这样,你不要用包试下  也就不要import了 绝对没有问题 
    输入1  2
    输出1  2。0   刚刚试的 
    你是不是 
    或者
    import user.ReadNumber;
    class Test {
    public static void main(String[] args){
    int i ;
    float j;
    i=ReadNumber.readInteger() ;
    j=ReadNumber.readFloat() ;
    System.out.println(i);
    System.out.println(j); 
    }
    }