C C++ Java Data Structure Python JavaScript CSS Ajax PL/SQL PHP Puzzles C programs C++ programs Java programs

Home » Java programs » Java basic programs

Java program to check Evil number

In this java program, we are going to write code to check whether a given number is an Evil number or not.
Submitted by Chandra Shekhar, on January 18, 2018

Given a number, we have to check that the entered number is Evil Number or not.

A number is said to be an Evil number if and only if it is having an even number of 1’s. The entered number must be a whole number.

Example:

Input: 3

Output:
3 – Is an Evil prime.

Program to check whether the given number is Evil Number or not in Java

package IncludeHelp;

import java.util.Scanner;

public class CheckEvilNumber 
{
	// Function to convert a number to Binary
	String toBinary(int n) 
    {
		// declare here.
        int r;
        String s=""; 
  
        // array to store digits.
        char dig[]={'0','1'}; 
  
        while(n>0)
        {
        	// find remainder, add it to digit and reverse the digits.
        	r=n%2; 
        	s=dig[r]+s; 
            n=n/2;
        }
        return s;
    }
     
	// Function to count no of 1's in binary number
    int countOne(String s) 
    {
        int c = 0, l = s.length();
        char ch;
        for(int i=0; i<l; i++)
        {
            ch=s.charAt(i);
            if(ch=='1')
            {
                c++;
            }
        }
        return c;
    }
     
    public static void main(String args[])
    {
    	// create object for number and scanner class.
        CheckEvilNumber ob = new CheckEvilNumber();
        Scanner sc = new Scanner(System.in);
         
        // enter the positive number here.
        System.out.print("Enter a positive number : ");
        int n = sc.nextInt();
         
        String bin = ob.toBinary(n);
        
        // here print the binary number of the number.
        System.out.println("Binary Equivalent = "+bin);
         
        int x = ob.countOne(bin);
        
        // print the number of 1,s
        System.out.println("Number of Ones = "+x);
         
        // check for evil or not.
        if(x%2==0)
            System.out.println(n+" is an Evil Number.");
        else
            System.out.println(n+" is Not an Evil Number.");
    }
}

Output

First run:
Enter a positive number : 4520
Binary Equivalent = 1000110101000
Number of Ones = 5
4520 is Not an Evil Number.

Second run:
Enter a positive number : 9
Binary Equivalent = 1001
Number of Ones = 2
9 is an Evil Number.


Liked this article? Do share with your friends :)


COMMENTS