OneCompiler

Rajesh kumar jena//Prroblem3

575

//Import
import java.util.Scanner;

//Main Class
public class Problem3
{
// Method to check the number is perfect square or not
public static boolean checkPerfectSquare(double number)
{
for (int i = 1; i * i <= number; i++)
{
if ((number % i == 0) && (number / i == i))
{
return true;
}

		}// End of for-loop
		
		return false;
		
	}//End of method

// Method to find the square root
	public static void squareRoot(double number) 
	{
		// Temporary variable
		double temp;
		double temp_sqroot = number / 2;
		
		//do-while loop to get square root
		do
		{
			temp = temp_sqroot;
			temp_sqroot = (temp + (number / temp)) / 2;
		} while ((temp - temp_sqroot) != 0);
		
		// To check number is perfect square or not
		if (checkPerfectSquare(number))
		{
			System.out.printf("Square root is : %d", (int) temp_sqroot );
			
		}//End of if-block
		
		else
			System.out.printf("Square root is : %.3f", temp_sqroot);
			
	} // End of method

// Main method 
	public static void main(String[] args) 
	{
		// Object of the Scanner class
		Scanner sc = new Scanner(System.in);

		System.out.print("Enter a positive number: ");

		// Reading a number from the user
		double number = sc.nextDouble();
		
		// To check if number is negative
		if (number < 0)
		{
			System.out.println("Please, enter a positive integer!");
			
		}//End of if-block
		
		else
		{
			//Since square root of 0 is 0 and 1 is 1 always 
			if (number == 0 || number == 1)
			{
				System.out.printf("Square root is : " +  (int) number);
				
			}// End of if-block
			
			else
			
				Problem3.squareRoot(number);
				
		}// End of else-block
		
	//Program @Rajesh
	}

}