# Write a Java program to convert binary numbers to decimal numbers.

1. Jul 18, 2012

### Mehwish-S

Use a loop to read (charAt()) each digit (0/1 char) in the input string, scanning from right to left;

Use the loop to build the required powers of 2;

Use a conditional statement to deal with 0 and 1 separately;

Debug using simple input, e.g. 1, 10, 101, and print intermediate values in the loop.

Use your program to find the decimal value of the following binary number:

1001010101011010111001011101010101010101

I have got as far as this:

import java.lang.*;
import java.io.*;

public class BinaryToDecimal{
public static void main(String[] args) throws IOException{
System.out.print("Enter the Binary value: ");
String str = bf.readLine();
long num = Long.parseLong(str);
long rem;
while(num > 0){
rem = num % 10;
num = num / 10;
if(rem != 0 && rem != 1){
System.out.println("This is not a binary number.");
System.out.println("Please try once again.");
System.exit(0);
}
}
int i= Integer.parseInt(str,2);
System.out.println("Decimal:="+ i);
}
}

But when I compile and run it only says "Enter the Binary value:"
Help! :/

2. Jul 18, 2012

### Staff: Mentor

When you post code, put [noparse] a
Code (Text):
tag at the top and a
[/noparse] tag at the bottom. This preserves your indentation, if any, and makes your code easier to read. I have done this below.

Since you didn't do much indentation, I have done so.
After your program printed "Enter the Binary value:" did you enter a binary value?

3. Jul 18, 2012

### Mehwish-S

Thank you so much
Im new to this so I dont know how to use it much :S
No, I couldnt enter the Binary Number because im using netbeans
How is it possible to enter the number? Do i just type it in next to "Enter Binary Number" ?