Packagekata_007_ binary sequence to decimal int;/*** java8 lambda expression convert binary sequence--decimal number*/Importjava.util.ArrayList; Public classShortbinarytodecimal { Public Static voidMain (string[] args) {ArrayList<Integer> binary =NewArrayList (); Binary.add (1); Binary.add (0); Binary.add (1); Binary.add (0); intresult =binarytodecimal (binary); SYSTEM.OUT.PRINTLN (result); } Public Static intBinarytodecimal (arraylist<integer>binary) { returnBinary.stream (). Reduce ((x, y) x * 2 +y). get (); }}
If you are not using a lambda expression, use the traditional way:
Packagekata_007_ binary sequence to decimal int;Importjava.awt.List;Importjava.util.ArrayList; Public classTestbinarytodecimal { Public Static voidMain (string[] args) {//test MethodArrayList binary =NewArrayList (); Binary.add (1); Binary.add (0); Binary.add (0); Binary.add (1); intresult =binarytodecimal (binary); SYSTEM.OUT.PRINTLN (result); } Public Static intBinarytodecimal (arraylist<integer>binary) {String Binarystr= ""; for(intI=0;i<binary.size (); i++) {Binarystr+=Binary.get (i); } //String binary-string decimalString decimalstr = integer.valueof (binarystr,2). toString (); //String decimal-int intDecimalresult =Integer.parseint (DECIMALSTR); returnDecimalresult; }}
New features of JAVA8, binary sequence to decimal digits