已经import java.lang.Math.*;为什么还要Math.sqrt(),不带Math.不行吗?
Math.PI改成PI也不行,编译通不过

解决方案 »

  1.   

    不可以的啊..sqrt()是个类方法...引用时前面应该加上MATH类.import java lang *是JAVA默认的包...可以不写啊
      

  2.   

    不会吧!!我这个都行.是不JDK没有设置好!!
      

  3.   

    不能少Math,Math是一个对象,PI是一个静态的属性
      

  4.   

    如果你不带Math编译器怎么知道sqrt()是谁的方法呢?
      

  5.   

    假如你的名字叫张三
    张现在就是MATH,sqrt就是三。
    所以只用其中一个就是不行的。
      

  6.   

    MATH类比较特殊吧,都必须要用Math类来调用其方法!
      

  7.   

    Math是一个类,其中的sqrt()是静态方法,PI是常量
    类的静态方法和常量是类的共同特性,在调用的时候还是要产生对象的
    所以要加上Math
      

  8.   

    JDK 5.0以后有了静态方法Include后就可以这样用了,但是以前版本的JDK不行
      

  9.   

    import static java.lang.Integer.toBinaryString;//z这个也报错说是static 有问题
      

  10.   

    java.lang.Math.sqrt(double) 
    java.lang.StrictMath.sqrt(double) 
    这两个包下都有sqrt编译器这时就不知道sqrt是math还是strctmath包下的了
    所以,要用包名.
      

  11.   

    sqrt()方法单独使用,是不知道是谁(哪个对象)的方法的
      

  12.   

    还有一点,就是如果没有引入strictmath包,sqrt也是一个静态方法,用类名直接调用的