Check for Perfect Square in Java

Check for Perfect Square in Java

Here on this page, we will learn how to Check for Perfect Square in Java programming language. We are given an integer number and need to print “True” if it is, otherwise “False”.

Check for Perfect Square

Algorithm ( Method 1 )

  • Take the floor() value square root of the number.
  • Multiply the square root twice.
  • We use the Boolean equal operator to verify if the product of the square root is equal to the number given.
Check for Perfect Square in Java

Java Code

Run
public class Main {

	static boolean isPerfectSquare(int x)
	{
		if (x >= 0) {
		
			int sr = (int)Math.sqrt(x);
		
			return ((sr * sr) == x);
		}
		return false;
	}

	public static void main(String[] args)
	{
		int x = 84;

		if (isPerfectSquare(x))
			System.out.print("True");
		else
			System.out.print("False");
	}
}

Output

False

Algorithm ( Method 2 )

  • In this method we use the floor and ceil function.
  • If they are equal that implies the number is a perfect square.
Run
import java.io.*;

public class Main{

static void checkperfectsquare(int n)
{
	
	if (Math.ceil((double)Math.sqrt(n)) == Math.floor((double)Math.sqrt(n)))
	{
		System.out.print("True");
	}
	else
	{
		System.out.print("False");
	}
}

public static void main(String[] args)
{
	int n = 49;
	
	checkperfectsquare(n);
}
}

Output

True

For similar Questions click on the given button

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription

3 comments on “Check for Perfect Square in Java”


  • janhwianand

    import java.util.*;
    public class PerfectSquare {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t=0;
    for(int i=1;i<n;i++){
    if(n%i==0 && i*i==n){
    t=i;
    }

    }
    if(t!=0){
    System.out.println(n+" is a perfect square and the number is "+t);
    }
    else{
    System.out.println("Not a perfect square");
    }


  • nafeesa3110

    import java.util.Scanner;
    public class perfect_square {

    public static void main(String[] args) {

    Scanner inp=new Scanner(System.in);
    int num=inp.nextInt();
    boolean isPerfectSquare=false;
    for(int i=1;i<=num/2;i++)
    {
    if(i*i==num)
    {
    System.out.println("Perfect Square");
    isPerfectSquare=true;
    break;
    }
    }
    if(isPerfectSquare==false)
    {
    System.out.println("Not a perfect square");
    }

    }

    }


  • Tridip

    import java.util.*;
    public class Max {

    public static void main(String[] args){

    int max =0;

    Map a = new HashMap();

    int arr[][] ={

    {0,0,0,0},
    {0,0,1,1},
    {1,1,1,1},
    {1,1,0,0}
    };

    int r = 4;
    int c =4;

    for(int i=0 ; i<4 ; i++){

    int count =0;

    for(int j=0 ; j<4 ; j++){

    if(arr[i][j] ==1){

    count++;
    a.put(i,count);
    }
    }
    }

    for(Map.Entry op :a.entrySet()){

    if(op.getValue() > max){

    max = op.getValue();
    }

    }

    for(Map.Entry op :a.entrySet()){

    if(op.getValue() == max){

    System.out.println(op.getKey()+1);
    }

    }

    }

    }