Не проходит первые 2 условия, хотя при запуске все работает
package com.javarush.task.pro.task09.task0906;
import java.util.regex.Pattern;
/*
Двоичный конвертер
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = 0;
System.out.println("Десятичное число " + decimalNumber + " равно двоичному числу " + toBinary(decimalNumber));
String binaryNumber = "";
System.out.println("Двоичное число " + binaryNumber + " равно десятичному числу " + toDecimal(binaryNumber));
}
public static String toBinary(int decimalNumber) {
if (decimalNumber <= 0){
return "";
}
int[] ar = new int[31];
int i = 0;
String s = "";
while (decimalNumber > 0) {
ar[i] = decimalNumber % 2;
decimalNumber = decimalNumber / 2;
i++;
}
if (ar[0] != 1 && ar[0] != 0 ){
return " ";
} else {
for (int j = 0; j < 31; j++ ){
if (ar[j] == 0 || ar[j] == 1){
s = s + ar[j];
} else {
return s;
}
}
}
return s;
}
public static int toDecimal(String binaryNumber) {
if (binaryNumber.equals("") || binaryNumber.equals(null)){
return 0;
}
int d = 0;
for (int i = 0; i < binaryNumber.length(); i++){
int index = binaryNumber.length() - 1 - i;
int value = Character.getNumericValue(binaryNumber.charAt(index));
d = d + value * (int) Math.pow(2.0, (double) i);
}
return d;
}
}