Преобразование long в незнаковую строку в Java

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

Введение

В этом практическом занятии вы узнаете о методе toUnsignedString() в Java, который используется для преобразования значения типа long в объект String с незнаковым десятичным представлением. Вы узнаете, как использовать этот метод, что он принимает в качестве аргумента и что возвращает.

Инициализация значения long

Сначала мы создадим значение типа long и инициализируем его некоторыми данными. Мы будем использовать это значение в последующих примерах для преобразования его в незнаковую десятичную строку с использованием метода toUnsignedString().

long longValue = 3000000000L;

Преобразование long в незнаковую десятичную строку

Теперь мы будем использовать метод toUnsignedString(), чтобы преобразовать наше инициализированное значение типа long в незнаковую десятичную строку.

String unsignedString = Long.toUnsignedString(longValue);

Печать результата

Наконец, мы выведем результаты преобразования нашей незнаковой десятичной строки в консоль.

System.out.println("Unsigned String value: " + unsignedString);

Вот полный код для вышеописанных шагов:

public class LongToUnsignedString {
    public static void main(String[] args) {
        long longValue = 3000000000L;
        String unsignedString = Long.toUnsignedString(longValue);
        System.out.println("Unsigned String value: " + unsignedString);
    }
}

При запуске кода вы увидите следующий вывод:

Unsigned String value: 3000000000

Обработка отрицательного значения long

В Java тип данных long также может хранить отрицательные значения. В этом шаге мы увидим, что произойдет, если мы попытаемся преобразовать отрицательное значение в незнаковую десятичную строку.

long longNegative = -123456789L;
String unsignedString = Long.toUnsignedString(longNegative);

Печать результата для отрицательного значения long

Теперь, когда у нас есть значение незнаковой десятичной строки, мы попытаемся вывести его в консоль с использованием метода System.out.println().

System.out.println("Unsigned Decimal String value: " + unsignedString);

Вот полный код:

public class LongToUnsignedString {
    public static void main(String[] args) {
        long longNegative = -123456789L;
        String unsignedString = Long.toUnsignedString(longNegative);
        System.out.println("Unsigned Decimal String value: " + unsignedString);
    }
}

Вывод будет выглядеть так:

Unsigned Decimal String value: 18446743950276013727

Преобразование пользовательского значения long

В этом шаге мы создадим пользовательское значение типа long и преобразуем его в незнаковую десятичную строку с использованием метода toUnsignedString().

Для этого мы создадим объект Scanner для чтения из консоли, а затем сохраним введенное значение в переменную типа long.

Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
long userLong = scanner.nextLong();

После этого мы преобразуем пользовательское значение типа long в незнаковую десятичную строку с использованием метода toUnsignedString().

String unsignedString = Long.toUnsignedString(userLong);

Наконец, мы выведем преобразованное значение в консоль.

System.out.println("Unsigned String value: " + unsignedString);

Вот полный код:

import java.util.Scanner;

public class LongToUnsignedString {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        long userLong = scanner.nextLong();
        String unsignedString = Long.toUnsignedString(userLong);
        System.out.println("Unsigned String value: " + unsignedString);
    }
}

При запуске программы вас попросят ввести число в консоли. После ввода значения программа преобразует его в незнаковую десятичную строку и выводит ее в консоль.

Обработка некорректного ввода

В этом шаге мы модифицируем код из предыдущего шага для обработки некорректного ввода пользователя.

Во - первых, мы обернем код из шага 6 в блок try - catch, чтобы обработать любые исключения, которые могут возникнуть из - за некорректного ввода пользователя.

try {
    Scanner scanner = new Scanner(System.in);
    System.out.print("Enter a number: ");
    long userLong = scanner.nextLong();
    String unsignedString = Long.toUnsignedString(userLong);
    System.out.println("Unsigned String value: " + unsignedString);
} catch (InputMismatchException exception) {
    System.out.println("Invalid input: Please enter a valid long value.");
}

Блок try содержит тот же код, что и в шаге 6, для чтения ввода пользователя, преобразования его в незнаковую десятичную строку и вывода ее в консоль.

Блок catch ловит любое исключение InputMismatchException, которое может возникнуть из - за некорректного ввода пользователя, и выводит сообщение об ошибке в консоль, указывающее, что введенное значение не является допустимым значением типа long.

Вот полный код:

import java.util.InputMismatchException;
import java.util.Scanner;

public class LongToUnsignedString {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(System.in);
            System.out.print("Enter a number: ");
            long userLong = scanner.nextLong();
            String unsignedString = Long.toUnsignedString(userLong);
            System.out.println("Unsigned String value: " + unsignedString);
        } catch (InputMismatchException exception) {
            System.out.println("Invalid input: Please enter a valid long value.");
        }
    }
}

При запуске программы и вводе некорректного значения программа выведет сообщение об ошибке в консоль. Если вы введете допустимое значение типа long, программа преобразует его в незнаковую десятичную строку и выведет ее в консоль.

Резюме

В этом практическом занятии вы узнали о методе toUnsignedString() в Java, который используется для преобразования типа данных long в незнаковую десятичную строку. Вы также узнали с примерами, как использовать этот метод, что он принимает в качестве аргумента и что возвращает.

Вы узнали, как обрабатывать некорректный ввод для пользовательских значений типа long, а также как обрабатывать отрицательные значения типа long и выводить их в консоль в виде незнаковой десятичной строки.