Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 求一个数的sqrt_Java_Loops_While Loop_Do While_Square Root - Fatal编程技术网

Java 求一个数的sqrt

Java 求一个数的sqrt,java,loops,while-loop,do-while,square-root,Java,Loops,While Loop,Do While,Square Root,所以我只是想写一个程序,让用户输入一个大于10的数字,然后找到这个数字的sqrt。但我应该多次执行平方根运算,以使输入数字的sqrt小于4。之后,我应该打印数字的sqrt的初始值和平方根操作完成的次数。我似乎没有发现我写的程序有什么问题。你能帮我吗 public static void main(String[] args) { int counter = 1 ; double sqrt , sqrt1 , n ; Scanner input = new Sc

所以我只是想写一个程序,让用户输入一个大于10的数字,然后找到这个数字的sqrt。但我应该多次执行平方根运算,以使输入数字的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)");


}
publicstaticvoidmain(字符串[]args){
int计数器=1;
双sqrt,sqrt1,n;
扫描仪输入=新扫描仪(System.in);
做{
System.out.print(“输入任意数字:”);
n=input.nextInt();
}n<10;
sqrt=Math.sqrt(n);
而(sqrt>4){
sqrt1=Math.sqrt(sqrt);
计数器++;
}
System.out.println(“输入的数字的平方根为:“+sqrt”);
System.out.println(“进行了平方根运算:“+计数器+”时间)”;
}
}看看这个循环:

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

您正在检查
sqrt
是否大于
4
,但您没有在循环内修改
sqrt
的值,因此
sqrt>4
将永远保持
true
,循环将永远继续迭代。

提示:初始设置is后是否更改变量
sqrt
的值?这就是使用调试器单步执行代码应该是解决此问题的最快方法。这就是为什么永远不应该命名的原因您的变量如
sqrt
sqrt1
,非常容易出错,并且很难调试。而不是将
sqrt1
重命名为有意义的东西,如
returnedSqrt