Не вижу ошибку. Валидатор во втором пункте выдает.
Убедись, что метод toDecimal(String) возвращает 0, если на вход получает пустую строку или null.
package com.javarush.task.pro.task09.task0906;
/*
Двоичный конвертер
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = Integer.MAX_VALUE;
System.out.println("Десятичное число " + decimalNumber + " равно двоичному числу " + toBinary(decimalNumber));
String binaryNumber = "1111111111111111111111111111111";
System.out.println("Двоичное число " + binaryNumber + " равно десятичному числу " + toDecimal(binaryNumber));
}
public static String toBinary(int decimalNumber) {
//напишите тут ваш код
String binaryStr = "";
if (decimalNumber > 0) {
while (decimalNumber >= 2) {
binaryStr = decimalNumber % 2 + binaryStr;
decimalNumber = decimalNumber / 2;
}
binaryStr = decimalNumber + binaryStr;
} else binaryStr = "";
return binaryStr;
}
public static int toDecimal(String binaryNumber) {
//напишите тут ваш код
int decresult = 0;
if (binaryNumber.equals("")|| binaryNumber==null) {decresult=0;
} else {
char[] array = binaryNumber.toCharArray();
int dect = array.length;
for (int i = 0; i < array.length; i++) {
decresult = (int) (decresult + array[i] * Math.pow(10, dect));
dect--;
}
}
return decresult;
}
}