Говорит, проверь, возвращает ли 0 метод toDecimal.
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 = "aa";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно десятичному числу " + toDecimal(hexNumber));
}
public static String toHex(int decimalNumber) {
if(decimalNumber <= 0) return "";
String hexNumber = "";
while(decimalNumber != 0){
hexNumber = HEX.split("")[decimalNumber % 16] + hexNumber;
decimalNumber = decimalNumber / 16;
}
return hexNumber;
}
public static int toDecimal(String hexNumber) {
if(hexNumber.equals("") || hexNumber == null) return 0;
int decimalNumber = 0;
for(int i = 0;i < hexNumber.length();i++){
int index = 0;
for(int ind = 0;ind < HEX.length();ind++){
if(HEX.split("")[ind].equals(hexNumber.split("")[i])) index = ind;
}
decimalNumber = 16 * decimalNumber + index;
}
return decimalNumber;
}
}