Почему при входящей 1, первый символ из строки, возвращает пустую строку?
Если закоментировать, как сейчас, дальше выдаёт правильный ответ, но не проходит не по одному пункту!
package com.javarush.task.pro.task09.task0908;
import java.util.regex.Pattern;
/*
Двоично-шестнадцатеричный конвертер
*/
public class Solution {
public static void main(String[] args) {
String binaryNumber = "100111010000";
System.out.println("Двоичное число " + binaryNumber + " равно шестнадцатеричному числу " + toHex(binaryNumber));
String hexNumber = "9d0";
//System.out.println("Шестнадцатеричное число " + hexNumber + " равно двоичному числу " + toBinary(hexNumber));
}
public static String toHex(String binaryNumber) {
if (binaryNumber == null || binaryNumber == "")
return "";
//Проверяем входной параметр на null или ""
// for (int index = 0; index < binaryNumber.length(); index ++)
// {
// if ((binaryNumber.charAt(index) != 0) && (binaryNumber.charAt(index)) != 1)
// return "";
// }
//Проверяем входной параметр на 0 или 1
while ((binaryNumber.length() % 4) !=0)
binaryNumber = 0 + binaryNumber;
//добавляем 000
int a = 0;
String[] arrayBinary = new String [binaryNumber.length()/4];
for (int index = 0; index<binaryNumber.length()/4; index++)
{
arrayBinary[index] = binaryNumber.substring(a, a+4);
a = a + 4;
}
//Заполняем массив входящим числом
String[] arrayBinary1 = {"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"};
String[] arrayHex = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
//заполняем контрольные массивы
String value = "";
for (int i=0; i<3; i++)
{
for (int j=0; j<16; j++)
{
if (arrayBinary[i].equals(arrayBinary1[j]))
//сравниваем входящее число с контрольным из двоичного массива
//и записываем число с таким же индексом из контрольного шестнадцатиричного
//массива в результа
{
value = value + arrayHex[j];
break;
}
}
}
return value;
}
//public static String toBinary(String hexNumber) {
//напишите тут ваш код
//return null;
//}
}