Java Character forDigit Methode

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie die Java-Methode forDigit() kennenlernen, die zur Character-Klasse gehört. Diese Methode gibt die angegebene Zeichendarstellung für die angegebene Ziffer gemäß der angegebenen Basis zurück.

Erstellen einer Java-Datei

Erstellen Sie eine Java-Datei mit dem Namen CharForDigit.java im Verzeichnis ~/project mit dem folgenden Befehl:

touch ~/project/CharForDigit.java

Fügen Sie den Anfangscode hinzu

Fügen Sie folgenden Code zur Datei CharForDigit.java hinzu:

public class CharForDigit {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = 23;
        int n3 = 30;
        char ch1 = Character.forDigit(n1, 9);
        char ch2 = Character.forDigit(n2, 25);
        char ch3 = Character.forDigit(n3, 36);
        System.out.println("The char representation of " + n1 + " in radix 9 is " + ch1);
        System.out.println("The char representation of " + n2 + " in radix 25 is " + ch2);
        System.out.println("The char representation of " + n3 + " in radix 36 is " + ch3);
    }
}

Dieser Code erstellt eine CharForDigit-Klasse mit einer main-Methode. Die main-Methode zeigt, wie die forDigit()-Methode verwendet wird, um die Zeichendarstellung einer Ziffer in verschiedenen Basen zu erhalten.

Kompilieren und Ausführen des Codes

Kompilieren Sie die Datei CharForDigit.java mit dem folgenden Befehl:

javac CharForDigit.java

Führen Sie dann den Code mit dem folgenden Befehl aus:

java CharForDigit

Sie sollten die folgende Ausgabe sehen:

The char representation of 8 in radix 9 is 8
The char representation of 23 in radix 25 is n
The char representation of 30 in radix 36 is u

Diese Ausgabe bestätigt, dass die forDigit()-Methode wie erwartet funktioniert.

Fügen Sie Benutzereingaben hinzu

Lassen Sie uns nun den Code so ändern, dass er Benutzereingaben für die Ziffer und die Basis akzeptiert. Fügen Sie folgenden Code nach dem Anfangscode hinzu:

Scanner sc = new Scanner(System.in);
System.out.print("Enter digit: ");
int d = sc.nextInt();
System.out.print("Enter radix: ");
int r = sc.nextInt();
char result = Character.forDigit(d, r);
System.out.println("The character at radix \'" + r + "\' for the digit " + d + " is: " + result);

Dieser Code fordert den Benutzer auf, die Ziffer und die Basis einzugeben, liest die Eingabe von der Konsole und verwendet die forDigit()-Methode, um die Zeichendarstellung der Ziffer zu erhalten.

Kompilieren und Ausführen des Codes mit Benutzereingaben

Kompilieren Sie die modifizierte Datei CharForDigit.java mit dem folgenden Befehl:

javac CharForDigit.java

Führen Sie dann den Code mit dem folgenden Befehl aus:

java CharForDigit

Sie sollten in der Konsole folgende Aufforderung sehen:

Enter digit:

Geben Sie eine Ziffer (z.B. 12) ein und drücken Sie die Eingabetaste. Sie sollten folgende Aufforderung sehen:

Enter radix:

Geben Sie eine Basis (z.B. 16) ein und drücken Sie die Eingabetaste. Anschließend sollten Sie die folgende Ausgabe sehen:

The character at radix '16' for the digit 12 is: c

Diese Ausgabe bestätigt, dass der modifizierte Code wie erwartet funktioniert.

Test auf ungültige Eingaben

Ändern Sie den Code, um ungültige Benutzereingaben zu behandeln. Fügen Sie folgenden Code nach dem Benutzereingabecode hinzu:

} catch (InputMismatchException e) {
    System.out.println("Invalid input!");
}

Dieser Code fängt jede InputMismatchException ab, die von der Scanner-Klasse geworfen wird, wenn der Benutzer eine Eingabe gibt, die nicht als Ganzzahl interpretiert werden kann.

Kompilieren und Ausführen des modifizierten Codes

Kompilieren Sie die modifizierte Datei CharForDigit.java mit dem folgenden Befehl:

javac CharForDigit.java

Führen Sie dann den Code mit dem folgenden Befehl aus:

java CharForDigit

Sie sollten in der Konsole folgende Aufforderung sehen:

Enter digit:

Geben Sie eine nicht numerische Eingabe (z.B. "abc") ein und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

Invalid input!

Diese Ausgabe bestätigt, dass der Code ungültige Eingaben wie erwartet behandelt.

Test auf ungültige Basis

Ändern Sie den Code, um zu überprüfen, ob die eingegebene Basis gültig ist. Fügen Sie folgenden Code nach dem Benutzereingabecode hinzu:

if (r < Character.MIN_RADIX || r > Character.MAX_RADIX) {
    System.out.println("Invalid radix!");
    return;
}

Dieser Code überprüft, ob die eingegebene Basis kleiner als die minimale Basis oder größer als die maximale Basis ist. Wenn ja, druckt er eine Nachricht und beendet das Programm.

Kompilieren und Ausführen des modifizierten Codes

Kompilieren Sie die modifizierte Datei CharForDigit.java mit dem folgenden Befehl:

javac CharForDigit.java

Führen Sie dann den Code mit dem folgenden Befehl aus:

java CharForDigit

Sie sollten in der Konsole folgende Aufforderung sehen:

Enter digit:

Geben Sie eine Ziffer (z.B. 6) ein und drücken Sie die Eingabetaste. Sie sollten folgende Aufforderung sehen:

Enter radix:

Geben Sie eine Basis ein, die kleiner als 2 oder größer als 36 ist (z.B. 1 oder 100), und drücken Sie die Eingabetaste. Sie sollten die folgende Ausgabe sehen:

Invalid radix!

Diese Ausgabe bestätigt, dass der Code ungültige Basen wie erwartet behandelt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die forDigit()-Methode der Character-Klasse verwenden, um die zeichenbasierte Darstellung einer Ziffer in einer angegebenen Basis zu erhalten. Sie haben auch gelernt, wie Sie Benutzereingaben verarbeiten und auf gültige Eingaben prüfen.