Javaのlong型を符号なし文字列に変換する

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、JavaのtoUnsignedString()メソッドについて学びます。このメソッドは、long型の値を符号なしの10進数のStringオブジェクトに変換するために使用されます。このメソッドの使い方、引数として何を取り、何を返すかを学びます。

long型の値の初期化

まず、long型の値を作成して、いくつかのデータで初期化します。この値を後の例で使用して、toUnsignedString()メソッドを使って符号なしの10進数の文字列に変換します。

long longValue = 3000000000L;

long型を符号なしの10進数文字列に変換する

次に、toUnsignedString()メソッドを使って、初期化したlong型の値を符号なしの10進数の文字列に変換します。

String unsignedString = Long.toUnsignedString(longValue);

結果の表示

最後に、変換した符号なしの10進数の文字列の結果をコンソールに表示します。

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型のデータ型は負の値も格納できます。このステップでは、負の値を符号なしの10進数の文字列に変換しようとしたときに何が起こるか見てみましょう。

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

負のlong型の値の結果の表示

符号なしの10進数の文字列の値が得られたので、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()メソッドを使って符号なしの10進数の文字列に変換します。

そのために、コンソールから読み取るためのScannerオブジェクトを作成し、次にスキャンした値をlong型の変数に格納します。

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

その後、toUnsignedString()メソッドを使ってユーザ定義のlong型の値を符号なしの10進数の文字列に変換します。

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);
    }
}

コードを実行すると、コンソールに数値の入力を促されます。値を入力すると、プログラムはそれを符号なしの10進数の文字列の値に変換し、コンソールに表示します。

無効な入力の処理

このステップでは、前のステップのコードを修正して、無効なユーザ入力を処理します。

まず、ステップ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ブロックには、ユーザ入力を読み取り、それを符号なしの10進数の文字列に変換し、コンソールに表示するためのステップ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型の値を入力すると、プログラムはそれを符号なしの10進数の文字列の値に変換し、コンソールに表示します。

まとめ

この実験では、long型のデータ型を符号なしの10進数の文字列に変換するために使用されるJavaのtoUnsignedString()メソッドについて学びました。また、このメソッドをどのように使用するか、引数として何を取り、何を返すかを例を使って学びました。

ユーザ定義のlong型の値に対する無効な入力をどのように処理するか、および負のlong型の値をどのように処理して、それらを符号なしの10進数の文字列の表現でコンソールに表示するかを学びました。