Метод декодирования целых чисел в Java

JavaBeginner
Практиковаться сейчас

Введение

Метод decode() класса Integer в Java используется для декодирования строки в целочисленное значение. Он может декодировать десятичную, шестнадцатеричную или восьмеричную строку и возвращает целочисленное значение объекта Integer, которое хранит строка. В этом практическом занятии вы научитесь использовать метод decode() с помощью нескольких примеров.

Изучите синтаксис метода decode()

Синтаксис метода decode() выглядит так:

public static Integer decode(String s) throws NumberFormatException

где:

  • s - это строка, которую нужно декодировать
  • NumberFormatException выбрасывается, если строка не содержит разбираемого целого числа.

Декодировать десятичную строку

Добавьте следующий код в метод main:

String s = "100";
Integer decoded = Integer.decode(s);
System.out.println("Десятичное декодированное значение равно: " + decoded);

Сохраните код и запустите его с помощью команды:

javac Main.java && java Main

Вы получите следующий вывод:

Введите строку для декодирования:
100
Декодированное значение равно:100

Это декодирует строку "100" как десятичное число и выводит декодированное значение в виде 100.

Декодировать восьмеричную строку

Добавьте следующий код в метод main:

String s = "017";
Integer decoded = Integer.decode(s);
System.out.println("Восьмеричное декодированное значение равно: " + decoded);

Сохраните код и запустите его с помощью команды:

javac Main.java && java Main

Вы получите следующий вывод:

Введите строку для декодирования:
017
Декодированное значение равно:15

Это декодирует строку "017" как восьмеричное число и выводит декодированное значение в виде 15.

Декодировать шестнадцатеричную строку

Добавьте следующий код в метод main:

String s = "0x18";
Integer decoded = Integer.decode(s);
System.out.println("Шестнадцатеричное декодированное значение равно: " + decoded);

Сохраните код и запустите его с помощью команды:

javac Main.java && java Main

Вы получите следующий вывод:

Введите строку для декодирования:
0x18
Декодированное значение равно:24

Это декодирует строку "0x18" как шестнадцатеричное число и выводит декодированное значение в виде 24.

Декодировать подписанную шестнадцатеричную строку

Добавьте следующий код в метод main:

String s = "-0x30";
Integer decoded = Integer.decode(s);
System.out.println("Знаковое шестнадцатеричное декодированное значение равно: " + decoded);

Сохраните код и запустите его с помощью команды:

javac Main.java && java Main

Вы получите следующий вывод:

Введите строку для декодирования:
-0x30
Декодированное значение равно:-48

Это декодирует строку "-0x30" как знаковое шестнадцатеричное число и выводит декодированное значение в виде -48.

Обработать исключение NumberFormatException

Добавьте следующий код в метод main:

String s = "abc";
try {
    Integer decoded = Integer.decode(s);
    System.out.println("Декодированное значение равно: " + decoded);
} catch (NumberFormatException e) {
    System.out.println("Некорректная строка: " + s);
}

Сохраните код и запустите его с помощью команды:

javac Main.java && java Main

Вы получите следующий вывод:

Введите строку для декодирования:
abc
Некорректная строка: abc

Это обработает исключение NumberFormatException, которое может возникнуть при декодировании некорректной строки.

Резюме

В этом практическом занятии вы узнали о синтаксисе, параметрах, возвращаемом значении и использовании метода decode() класса Integer в Java. Также вы получили практический опыт работы с методом decode(), декодируя десятичные, восьмеричные и шестнадцатеричные строки. Вы также узнали, как обрабатывать исключение NumberFormatException. Теперь вы можете использовать метод decode() для декодирования допустимых строк и получения целочисленных значений из них.