Java Long toHexString Methode

JavaBeginner
Jetzt üben

Einführung

In diesem Lab lernst du, wie du die Java-Methode toHexString() verwendest, die den hexadezimalen Wert eines als unsigned long übergebenen Werts zurückgibt. Du wirst lernen, wie du die toHexString()-Methode, ihre Parameter und ihren Rückgabetyp verwendest.

Erstelle eine Java-Klasse

Öffnen Sie ein Terminal und erstellen Sie eine neue Java-Klasse namens LongToHexadecimal mit dem folgenden Befehl:

touch LongToHexadecimal.java

Öffnen Sie die Datei LongToHexadecimal.java in einem Texteditor.

Schreibe die main-Methode

Fügen Sie folgenden Code ein, um die main-Methode zu definieren:

public class LongToHexadecimal {
    public static void main(String[] args){
        // Ihr Code hier
    }
}

Wandle einen positiven long in Hexadezimal um

Als nächstes verwendest du die toHexString()-Methode, um einen positiven long in Hexadezimalzahl umzuwandeln.

Füge folgenden Code innerhalb der main-Methode hinzu, um den long-Wert 60L in seine hexadezimale Entsprechung umzuwandeln:

long i = 60L;
System.out.println("Actual number is = " + i);
System.out.println("Hexadecimal equivalent is = " + Long.toHexString(i)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück

Kompiliere und führe das Programm im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest die folgende Ausgabe sehen:

Actual number is = 60
Hexadecimal equivalent is = 3c

Wandle einen negativen long in Hexadezimal um

Als nächstes verwendest du die toHexString()-Methode, um einen negativen long in Hexadezimalzahl umzuwandeln.

Füge folgenden Code innerhalb der main-Methode hinzu, um den long-Wert -52L in seine hexadezimale Entsprechung umzuwandeln:

long j = -52L;
System.out.println("Actual number is = " + j);
System.out.println("Hexadecimal equivalent is = " + Long.toHexString(j)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück

Kompiliere und führe das Programm erneut im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest die folgende Ausgabe sehen:

Actual number is = -52
Hexadecimal equivalent is = ffffffffffffffcc

Nehme eine long-Eingabe vom Benutzer entgegen

Als nächstes wirst du das Programm modifizieren, um Eingaben vom Benutzer zu akzeptieren.

Füge folgenden Code innerhalb der main-Methode hinzu, um eine long-Eingabe vom Benutzer zu lesen und in ihre hexadezimale Entsprechung umzuwandeln:

Scanner sc = new Scanner(System.in);
System.out.print("Enter the Number = ");
long k = sc.nextLong();
System.out.println("Actual Number is  = " + k);
System.out.println("Hexadecimal representation is = " + Long.toHexString(k)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück

Kompiliere und führe das Programm erneut im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest eine Ausgabe wie die folgende sehen:

Enter the Number = 585
Actual Number is  = 585
Hexadecimal representation is = 249

Behandle ungültige Eingaben

Als nächstes fügst du Code hinzu, um ungültige Eingaben zu behandeln.

Ändere den vorhandenen Code innerhalb der main-Methode, um alle Eingabefehler zu fangen:

Scanner sc = new Scanner(System.in);
try {
    System.out.print("Enter the Number = ");
    long k = sc.nextLong();
    System.out.println("Actual Number is  = " + k);
    System.out.println("Hexadecimal representation is = " + Long.toHexString(k)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück
} catch (InputMismatchException ex) {
    System.out.println("Ungültige Eingabe! Bitte geben Sie einen gültigen long-Wert ein.");
}

Kompiliere und führe das Programm erneut im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest eine Ausgabe wie die folgende sehen:

Enter the Number = abc
Ungültige Eingabe! Bitte geben Sie einen gültigen long-Wert ein.

Füge eine Schleife hinzu

Als nächstes wirst du das Programm modifizieren, um Eingaben vom Benutzer zu akzeptieren, bis sie das Programm beenden.

Füge folgenden Code innerhalb der main-Methode hinzu, um das Programm laufen zu lassen, bis der Benutzer es beendet:

Scanner sc = new Scanner(System.in);
while (true) {
    System.out.print("Enter the Number (or -1 to quit) = ");
    long k = sc.nextLong();
    if (k == -1) {
        System.out.println("Goodbye!");
        break;
    }
    System.out.println("Actual Number is  = " + k);
    System.out.println("Hexadecimal representation is = " + Long.toHexString(k)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück
}

Kompiliere und führe das Programm erneut im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest eine Ausgabe wie die folgende sehen:

Enter the Number (or -1 to quit) = 456
Actual Number is  = 456
Hexadecimal representation is = 1c8
Enter the Number (or -1 to quit) = -999
Actual Number is  = -999
Hexadecimal representation is = fffffffffffffc19
Enter the Number (or -1 to quit) = 754
Actual Number is  = 754
Hexadecimal representation is = 2f2
Enter the Number (or -1 to quit) = -1
Goodbye!

Teste Randfälle

Schließlich teste Randfälle, bei denen die Eingabzahl die größte und kleinste Zahl ist, die von einem long dargestellt werden kann.

Füge Folgendes innerhalb der while-Schleife in der main-Methode hinzu:

System.out.println("Actual Number is  = " + Long.MAX_VALUE);
System.out.println("Hexadecimal representation is = " + Long.toHexString(Long.MAX_VALUE)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück
System.out.println("Actual Number is  = " + Long.MIN_VALUE);
System.out.println("Hexadecimal representation is = " + Long.toHexString(Long.MIN_VALUE)); //gibt den long-Wert in der hexadezimalen Basis 16 als Zeichenfolge zurück

Kompiliere und führe das Programm erneut im Terminal mit dem folgenden Befehl aus:

javac LongToHexadecimal.java && java LongToHexadecimal

Du solltest eine Ausgabe wie die folgende sehen:

Enter the Number (or -1 to quit) = 9223372036854775807
Actual Number is  = 9223372036854775807
Hexadecimal representation is = 7fffffffffffffff
Actual Number is  = -9223372036854775808
Hexadecimal representation is = 8000000000000000
Enter the Number (or -1 to quit) = -1
Goodbye!

Zusammenfassung

In diesem Lab hast du gelernt, wie du die Java-Methode toHexString() verwendest, um einen long-Wert in seine hexadezimale Entsprechung umzuwandeln. Du hast das Lesen von Benutzereingaben, das Behandeln von Benutzereingabefehlen und das Verwenden einer Schleife, um ein Programm laufen zu lassen, bis der Benutzer es aktiv beendet, geübt. Du kannst diese Programmierkonzepte verwenden, um komplexere Java-Anwendungen zu erstellen, die long-Werte manipulieren und Benutzereingaben entgegennehmen.