classSolution{publicbooleanisPerfectSquare(int num){double cur = num,pre = num;//当前迭代结果,上次迭代结果while(true){//公式:(cur + num/cur)/2cur =(cur+num/cur)*0.5;// if (pre - cur < 1e-6) break;确定精度,两次迭代结果的差的绝对值<指定精度,就说明精度到位if(Math.abs(pre-cur)<1e-7)break;pre = cur;//pre记录cur的结果,成为下一次的前驱结果}int x =(int) cur;//获取迭代结果的整数形式,也就是(int)Math.sqrt(num)return x * x == num;//如果平方为num说明是完全平方根}}
final
final关键字是最终的意思,可以修饰类、方法、变量修饰类:该类被称为最终类,特点是不能被继承 //final修饰的类,类不能再被继承了
final class A{}
class B extends A{}//会报错 修饰方法:该方法被称为最终方法&…