Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать программу на Java

Анна Деревнина Ученик (91), на голосовании 1 год назад
Cocтaвить прoцедуру вычиcлeния знaчeния цeлoгo чиcлa
пo зaдaннoй cтpoке cимвoлoв, являющeйcя зaпиcью этoгo чиcлa в шeстнaдцaтeричнoй cиcтeмe cчиcлeния (иcпoльзoвaть peкуpcивный мeтoд)
Голосование за лучший ответ
Зеленая бяка Просветленный (41309) 1 год назад
Вот пример рекурсивной процедуры на Java, которая принимает строку, представляющую шестнадцатеричное число, и возвращает его десятичное значение:
 public static int hexToDec(String hex) { 
if (hex.length() == 1) { // базовый случай: строка содержит один символ
return hexCharToDec(hex.charAt(0));
} else { // рекурсивный случай: строка содержит более одного символа
int lastDigit = hexCharToDec(hex.charAt(hex.length() - 1));
String restOfHex = hex.substring(0, hex.length() - 1);
return 16 * hexToDec(restOfHex) + lastDigit;
}
}

// вспомогательная функция для преобразования одного символа шестнадцатеричной цифры в десятичное число
public static int hexCharToDec(char c) {
if (c >= '0' && c <= '9') {
return c - '0';
} else if (c >= 'A' && c <= 'F') {
return 10 + (c - 'A');
} else if (c >= 'a' && c <= 'f') {
return 10 + (c - 'a');
} else {
throw new IllegalArgumentException("Invalid hexadecimal character: " + c);
}
}
Чтобы использовать эту функцию, вы можете вызвать hexToDec("ABCD"), где "ABCD" - строка, представляющая шестнадцатеричное число. Функция вернет его десятичное значение, равное 43981.
ОракулОракул (62095) 1 год назад
И ты туда же? Копипастишь с жпт?
Зеленая бяка Просветленный (41309) Оракул, ну а чо) самой писать такую ерунду скучно и лень)
Похожие вопросы