сижу минут 40, мозги уже плавятся Спасибо всем откликнувшимся !
package com.javarush.task.pro.task09.task0907;
import java.util.StringTokenizer;
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 = "4e8";
System.out.println("Шестнадцатеричное число " + hexNumber + " равно десятичному числу " + toDecimal(hexNumber));
System.out.println();
int decimalNumber2 = 0;
System.out.println("Десятичное число " + decimalNumber2 + " равно шестнадцатеричному числу " + toHex(decimalNumber2));
String hexNumber2 = null;
System.out.println("Шестнадцатеричное число " + hexNumber2 + " равно десятичному числу " + toDecimal(hexNumber2));
}
public static String toHex(int decimalNumber) {
//напишите тут ваш код
String hexNumber = "";
if (decimalNumber <= 0) return null;
for (int i = 0; decimalNumber != 0; i++) {
int index = decimalNumber % 16;
hexNumber += HEX.charAt(index);
decimalNumber /= 16;
}
StringBuilder reversedHex = new StringBuilder(hexNumber);
reversedHex.reverse();
return reversedHex.toString();
}
public static int toDecimal(String hexNumber) {
//напишите тут ваш код
int decimalNumber = 0;
if (hexNumber == null || hexNumber == "") return 0;
for (int i = 0; i < hexNumber.length(); i++) {
int index = HEX.indexOf(hexNumber.charAt(i));
decimalNumber = 16 * decimalNumber + index;
}
return decimalNumber;
}
}