import java.util.Scanner;
/**
 * Use a recursive function to calculate the value of binary number.
 */
public class Calculation
{
    public static void main(String [] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a binary number");
        String binNum=input.nextLine();
        int n= binNum.length();

        int decNum = convert(binNum);
        if(decNum != -1)
           System.out.printf("The binary number, %s has value of %d.\n",binNum, decNum);
    }
    public static int convert(String x)
    {
        int n = x.length();
        if( n == 0)
            return 0;
        else
             if(x.charAt(n-1) == '0')
             {
                 x = x.substring(0, n-1);
                 return 2 * convert(x);
             }
             else
                  if(x.charAt(n-1) == '1')
                  {
                       x = x.substring(0, n-1);
                       return 2 * convert(x) + 1;
                   }
                   else
                   {
                       System.out.println("You did not enter a binary number");
                       return -1;
                    }
    }
}