Sunday, February 24, 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;
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment