Подскажите пожалуйста, почему у меня не проходит строчка, где я ищу длину 2ого числа?
Как думаете мое решение (особенно перевод из 2ого в десятичное число) прокатит ?
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) {
int remainder;
String output = "";
while (decimalNumber> 0)
{ remainder = (decimalNumber % 2);
//переводим в стоковуб переменную остаток от деления
output = Integer.toString(remainder) + output;
decimal = decimal / 2; }
return output;
}
public static int toDecimal(String binaryNumber) {
int output2;
int long = binaryNumber.length();
if (binaryNumber>0)
{
for (i=0, i<long, i++)
{
//с помощью флагов ищем 1 по элементно
if ((binaryNumber & (1 << i)) == (1 << i))
output2= 1*Math.pow(10, i)+output2;
}
return output2;
}
else if (binaryNumber<=0)
return "";
else
return 0;
}
}