Tuesday, February 26, 2013

Binary




/**
 * @(#)midtermproject.java
 *
 *
 * @ROGY T. ACOSTA, MSCS
 * @version 1.00 2011/1/24
 */

import java.util.Scanner;

public class bi {

static Scanner console = new Scanner(System.in);


    public static void main(String[] arg){
       
        char ans;
        do{       
            String binary;
            System.out.println("Enter binary value:");       
            do {       
                binary = console.next();               
            }while(CheckInput(binary));
           
            int[] placevalue = new int[binary.length()];
            char[] digits = new char[binary.length()];
            assignPlaceValue(placevalue);               
            getIndividualDigit(binary,digits);
            int decimalval = binary2decimal(digits,placevalue);
            System.out.println("Result: "+decimalval + " ");
           
            System.out.println("Enter another binary number? [y/n]:->");           
            do {       
                ans = console.next().charAt(0);   
            }while(ans != 'n' && ans != 'N' && ans != 'Y' && ans != 'y' );
           
          }while(ans == 'y' || ans == 'Y');       
        }
   
       
    public static boolean CheckInput(String binaryinput){
           for(int index = 0 ; index < binaryinput.length(); index++){
              if ((binaryinput.charAt(index) != '1') && (binaryinput.charAt(index) != '0'))
                    return true;
           }
           return false;                      
        }
   
    public static void assignPlaceValue(int[] placeval){
        placeval[0] = 1;
        for(int index = 1 ; index < placeval.length; index++){
            placeval[index] = placeval[index-1]*2;           
            }          
        }
   
   
        public static void getIndividualDigit(String binaryvalue,char[] digitvalue){
           for(int index = 0; index < binaryvalue.length(); index++){
            digitvalue[index] = binaryvalue.charAt(index);           
            }          
        }
   
   
        public static int binary2decimal(char[] digitvalue,int[] placeval){
        int result = 0;
        int digitplace = (digitvalue.length-1);
         for(int index = 0; index < digitvalue.length; index++){
           
            if (digitvalue[index] == '1')
                {result = result + placeval[digitplace];           
                System.out.println("Placevalue: "+placeval[digitplace] +" index = "+index);          
                }   
                   
            digitplace--;             

           
          }
         
           return result;   
        }
   
        public static int binary2octal(char[] digitvalue,int[] placeval){
        int result = 0;
        int digitplace = (digitvalue.length-1);
         for(int index = 0; index < digitvalue.length; index++){
           
            if (digitvalue[index] == '1')
                {result = result + placeval[digitplace];           
                System.out.println("Placevalue: "+placeval[digitplace] +" index = "+index);          
                }   
                   
            digitplace--;             

           
          }
         
           return result;   
        }
       
   
   
   
}

No comments:

Post a Comment