не понимаю где ошибся.
package com.javarush.task.pro.task09.task0906;
import java.util.regex.Pattern;
/*
Двоичный конвертер
*/
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 binaryNumber = ""; //создаём строковое "двоичное число" - пустую строку
if (decimalNumber<=0) { //проверяем на отрицательное и нулевое значение десятичное число
return (binaryNumber);} //возвращаем пустую строку
int binaryNumber2 = Integer.parseInt(binaryNumber); //преобразую сроковое двоичное число в целое число
while (decimalNumber!=0){ //создаём условие, пока десятичное число не станет равно нулю
binaryNumber2 = ((decimalNumber%2) + binaryNumber2); // суммируем остаток деления двоичного числа
//с остатком деления двоичного числа на два
decimalNumber = decimalNumber/2; //повторяем цикл, пока десятичное число не "закончится"
}
binaryNumber = Integer.toString(binaryNumber2); //возвращаем двоичное число + преобразуем его в строку
return binaryNumber;
}
public static int toDecimal(String binaryNumber) { //из десятичной в двоичную
int decimalNumber = 0; //создаём десятичное число, равное нулю
if (binaryNumber == null){ //проверяем двоичное число на пустую строку
return decimalNumber;} //возвращаем нуль
for (int i=0; i<binaryNumber.length(); i++){ //создаю цикл на длину двоичного числа (количество единиц и нулей)
int binaryNumber2 = Integer.parseInt(binaryNumber); //преобразую сроковое двоичное число в целое число
decimalNumber = (int) (decimalNumber + binaryNumber2*Math.pow(2, i++)); //суммирую десятичное число
} //со всеми единицами, помноженными на степень двойки
return decimalNumber; //возвращаю десятичное число
}
}