寻找数字的平方

时间:2018-11-02 09:54:29

标签: java loops while-loop do-while square-root

所以我只是想编写一个程序,让用户输入一个大于10的数字,并查找该数字的平方根。但是我应该多次进行平方根运算,以使输入的数字的sqrt小于4。此后,我应该打印该数字的sqrt的初始值以及平方根运算的次数完成。我似乎没有发现我编写的程序出了什么问题。你能帮我吗?

   public static void main(String[] args) {
   int counter = 1 ; 
   double sqrt  , sqrt1 , n ; 



   Scanner input = new Scanner (System.in);
   do{
       System.out.print("Enter any number : ");
       n = input.nextInt();

   }while(n < 10);

   sqrt = Math.sqrt(n);

 while (sqrt > 4){
     sqrt1 = Math.sqrt(sqrt);
     counter++ ;
 }

   System.out.println("The square root of the entered number is : " + sqrt);
   System.out.println("The square root operation was made : " + counter + " time(s)");


}

}

1 个答案:

答案 0 :(得分:1)

看看这个循环:

while (sqrt > 4){
    sqrt1 = Math.sqrt(sqrt);
    counter++ ;
}

您正在检查sqrt是否大于4,但是您没有在循环内修改sqrt的值,因此sqrt > 4将永远保留{{1 }},循环将永远重复进行。