Всем доброго дня!
Подскажите, пожалуйста, почему валидатор не пропускает мое решение?
Методы все рассчитывают правильно, условия соблюдены, может где-то некорректная логика?
Заранее спасибо.
package com.javarush.task.pro.task09.task0906;
import java.util.Arrays;
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) {
if (decimalNumber <= 0)
return "";
String S = "";
while (decimalNumber > 0) {
S = Integer.toString(decimalNumber % 2) + S;
decimalNumber = decimalNumber / 2;
}
return S;
}
public static int toDecimal(String binaryNumber) {
if ((binaryNumber==null) || (binaryNumber.equals("")))
{
return 0;
}
String[] array = binaryNumber.split("");
String S = "";
int k = 0;
for (int i = array.length - 1; i >= 0; i--) {
k = k +Integer.parseInt(array[i]) * (int) Math.pow(2, i);
//S = S + Integer.toString(k);
}
return k;
}
}