j!=1修改为j<0.999 或者j<= 1.001 因为浮点数存在精度误差,如果j=1.0...01或者0.999...,那么导致判断失效,那么j将不断累加
不等于1的判定有问题
设断点调试,你会发现0.1真实值是0.10000000000000001,double不像int,它涉及到精度问题