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

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: ");
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.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! :/
 PhysOrg.com science news on PhysOrg.com >> Intel's Haswell to extend battery life, set for Taipei launch>> Galaxies fed by funnels of fuel>> The better to see you with: Scientists build record-setting metamaterial flat lens

Mentor
When you post code, put a [code] tag at the top and a [/code] 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.
 Quote by 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: Code: import java.lang.*; import java.io.*; public class BinaryToDecimal{ public static void main(String[] args) throws IOException{ BufferedReader bf= new BufferedReader(new InputStreamReader(System.in)); 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! :/
After your program printed "Enter the Binary value:" did you enter a binary value?
 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" ?

 Tags binary, conversion, decimal, java, loop