import java.util.Scanner;
import java.util.Arrays;

public class Main
{
    public static void main(String[] args) 
    {
        int j=0;
        
        int binary[] = new int[31]; 
        int i;
        String conversion;
        boolean consecutiveOnes=false;
        int numberOnes=0;
        int temp=0;
        int originalNumber;
        
        Scanner reader = new Scanner(System.in);
        System.out.println("Enter a number no larger than 2,000,000,000: ");
        
        int num = reader.nextInt();
        
        reader.close();
        originalNumber = num;
        
        System.out.println("\nThe decimal number is:  " + num+"\n");
        
        int length = binary.length;
        
        System.out.println("*** This program will convert decimal " + num + "  into binary");
        
        for (i=length-1; i>=0; i--)
        {
            int divisor = (int)(Math.pow(2,i));
                
            if (num - divisor <0)
            {
                System.out.println("this is current state of numones:" + temp);
                temp=numberOnes;
                numberOnes=0;
                System.out.println("This is the number" + num);
                System.out.println("This is the divisor: " + divisor);
                System.out.println("\n");
            }
        
            if (num - divisor >=0)
            {
                numberOnes++;
                
                if (numberOnes>temp)
                {
                    temp=numberOnes;
                }
            
                binary[(length-1)-i] = 1;
                num=num-divisor;
                
                System.out.println("Now checking if " + num + " is divisible by: " + (int)(Math.pow(2,i-1) ));
         
            }
        }
            
        conversion = Arrays.toString(binary);
        System.out.println("\n");
        System.out.println("Maximum number consecutive ones: "+ temp);
    
        System.out.println("This is the decimal version: " + originalNumber);
        System.out.println("The binary version is:  " + conversion );
    }    
}