I continue getting this message:
Be sure that the toDecimal(String) method returns 0 if it receives an empty string or null as input.
What do I do wrong?...
package en.codegym.task.pro.task09.task0906;
/*
Binary converter
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = Integer.MAX_VALUE;
System.out.println("Decimal number " + decimalNumber + " is equal to binary number " + toBinary(decimalNumber));
String binaryNumber = "1111111111111111111111111111111";
System.out.println("Binary number " + binaryNumber + " is equal to decimal number " + toDecimal(binaryNumber));
}
public static String toBinary(int decimalNumber) {
if(decimalNumber > 0) {
String binary = "";
while(decimalNumber != 0) {
binary = decimalNumber % 2 + binary;
decimalNumber = decimalNumber / 2;
}
return binary;
}
return "";
}
public static int toDecimal(String binaryNumber) {
if(binaryNumber.isEmpty() || binaryNumber == null) {
return 0;
}
else {
double decimal = 0;
for(int i = 0; i < binaryNumber.length(); i++) {
decimal = decimal + Character.getNumericValue(binaryNumber.charAt(i)) * Math.pow(2, i);
}
return (int) decimal;
}
}
}