Метод toDecimal(String). Валидатор пишет что при пустой строке у меня метод должен вернуть ноль. Но я проверил он его возвращает. Не пойму что не так.
Число в десятичную сс переводит правильно.
package com.javarush.task.pro.task09.task0907;
import java.util.regex.Pattern;
/*
Шестнадцатеричный конвертер
*/
public class Solution {
private static final String HEX = "0123456789abcdef";
public static void main(String[] args) {
int decimalNumber = 1256;
System.out.println("Десятичное число " + decimalNumber + " равно шестнадцатеричному числу " + toHex(decimalNumber));
String hexNumber = "null";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно десятичному числу " + toDecimal(hexNumber));
}
public static String toHex(int decimalNumber) {
//напишите тут ваш код
String hex = "";
if (decimalNumber <= 0)
return "";
while (decimalNumber != 0) {
hex = HEX.charAt(decimalNumber % 16) + hex;
decimalNumber = decimalNumber / 16;
}
return hex;
}
public static int toDecimal(String hexNumber) {
//напишите тут ваш код
int x = 0;
if (hexNumber.equals("null") || hexNumber.equals(""))
return 0;
for (int i = 0; i < hexNumber.length(); i++) {
int index = HEX.indexOf(hexNumber.charAt(i));
x = x * 16 + index;
}
return x;
}
}