所以我只是想编写一个程序,让用户输入一个大于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)");
}
}
答案 0 :(得分:1)
看看这个循环:
while (sqrt > 4){
sqrt1 = Math.sqrt(sqrt);
counter++ ;
}
您正在检查sqrt
是否大于4
,但是您没有在循环内修改sqrt
的值,因此sqrt > 4
将永远保留{{1 }},循环将永远重复进行。