Нахождение квадрата числа - PullRequest
0 голосов
/ 02 ноября 2018

Итак, я просто пытаюсь написать программу, которая позволяет пользователю вводить число больше 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 голосов
/ 02 ноября 2018

Посмотрите на этот цикл:

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

Вы проверяете, больше ли sqrt, чем 4, но не изменяете значение sqrt внутри цикла, поэтому sqrt > 4 навсегда останется true, и цикл будет повторяться вечно .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...