Wie man prüft, ob eine Zahl in Java ungerade ist

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 lernen, wie Sie in Java mit dem Modulo-Operator feststellen können, ob eine Zahl ungerade oder gerade ist. Wir werden das Konzept des Modulo-Operators untersuchen und wie sein Ergebnis bei der Division durch 2 zwischen ungeraden und geraden Zahlen unterscheiden kann.

Durch praktische Schritte wenden Sie den Modulo-Operator an, um auf ungerade Zahlen zu prüfen, überprüfen die Logik mit verschiedenen Zahlentypen und kombinieren Prüfungen für sowohl gerade als auch ungerade Zahlen. So gewinnen Sie praktische Erfahrung in der bedingten Logik in Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") subgraph Lab Skills java/data_types -.-> lab-559967{{"Wie man prüft, ob eine Zahl in Java ungerade ist"}} java/operators -.-> lab-559967{{"Wie man prüft, ob eine Zahl in Java ungerade ist"}} java/if_else -.-> lab-559967{{"Wie man prüft, ob eine Zahl in Java ungerade ist"}} java/user_input -.-> lab-559967{{"Wie man prüft, ob eine Zahl in Java ungerade ist"}} end

Anwenden des Modulo-Operators zur Prüfung auf Ungerade

In diesem Schritt werden wir lernen, wie man in Java mit dem Modulo-Operator feststellt, ob eine Zahl ungerade oder gerade ist. Der Modulo-Operator (%) gibt den Rest einer Division zurück. Beispielsweise ist 10 % 3 gleich 1, weil 10 geteilt durch 3 gleich 3 mit einem Rest von 1 ist.

Eine Zahl ist gerade, wenn sie durch 2 ohne Rest teilbar ist, d. h., der Rest bei der Division durch 2 ist 0. Eine Zahl ist ungerade, wenn der Rest bei der Division durch 2 gleich 1 ist.

Lassen Sie uns ein neues Java-Programm erstellen, um zu prüfen, ob eine Zahl ungerade ist.

  1. Öffnen Sie die Datei HelloJava.java im WebIDE-Editor, wenn sie noch nicht geöffnet ist.

  2. Ersetzen Sie den gesamten Inhalt der Datei durch folgenden Code:

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int number = scanner.nextInt();
    
            // Check if the number is odd using the modulo operator
            if (number % 2 != 0) {
                System.out.println(number + " is an odd number.");
            } else {
                System.out.println(number + " is an even number.");
            }
    
            scanner.close();
        }
    }

    Schauen wir uns die neuen Teile des Codes an:

    • int number = scanner.nextInt();: Diese Zeile liest einen ganzzahligen Wert, den der Benutzer eingegeben hat, und speichert ihn in einer Variablen namens number.
    • if (number % 2 != 0): Dies ist eine if-Anweisung, die es unserem Programm ermöglicht, Entscheidungen zu treffen. Sie prüft, ob der Rest der Division von number durch 2 ungleich 0 ist. Das Symbol != bedeutet "ungleich".
    • System.out.println(number + " is an odd number.");: Diese Zeile wird ausgeführt, wenn die Bedingung in der if-Anweisung wahr ist (die Zahl ist ungerade).
    • else: Dieses Schlüsselwort leitet den Codeblock ein, der ausgeführt wird, wenn die Bedingung in der if-Anweisung falsch ist (die Zahl ist gerade).
    • System.out.println(number + " is an even number.");: Diese Zeile wird ausgeführt, wenn die Zahl gerade ist.
  3. Speichern Sie die Datei (Strg+S oder Cmd+S).

  4. Kompilieren Sie das geänderte Programm im Terminal:

    javac HelloJava.java

    Wenn keine Fehler auftreten, wird eine Datei namens HelloJava.class erstellt.

  5. Führen Sie das kompilierte Programm aus:

    java HelloJava
  6. Das Programm fordert Sie auf, eine ganze Zahl einzugeben. Geben Sie eine Zahl ein (z. B. 7) und drücken Sie die Eingabetaste. Das Programm sollte Ihnen mitteilen, ob die Zahl ungerade oder gerade ist.

    Enter an integer: 7
    7 is an odd number.

    Führen Sie das Programm erneut aus und geben Sie eine gerade Zahl ein (z. B. 10).

    Enter an integer: 10
    10 is an even number.

Sie haben erfolgreich den Modulo-Operator und eine if-else-Anweisung verwendet, um zu prüfen, ob eine Zahl ungerade oder gerade ist. Dies ist ein grundlegendes Konzept in der Programmierung, um den Programmfluss basierend auf Bedingungen zu steuern.

Überprüfung mit verschiedenen Zahlentypen

Im vorherigen Schritt haben wir erfolgreich geprüft, ob eine ganze Zahl ungerade oder gerade ist. Jetzt wollen wir untersuchen, wie sich der Modulo-Operator mit verschiedenen Zahlentypen verhält, insbesondere mit negativen ganzen Zahlen.

Das Konzept von ungeraden und geraden Zahlen gilt normalerweise für ganze Zahlen. Es ist jedoch wichtig zu verstehen, wie der Modulo-Operator in Java mit negativen Zahlen funktioniert, da er sich möglicherweise anders verhält als Sie aufgrund mathematischer Definitionen erwarten würden.

In Java hat das Ergebnis der Modulo-Operation (a % b) dasselbe Vorzeichen wie der Dividend (a).

Lassen Sie uns unser Programm ändern, um es mit negativen Zahlen zu testen.

  1. Öffnen Sie die Datei HelloJava.java im WebIDE-Editor.

  2. Der aktuelle Code liest bereits eine ganze Zahl. Wir können denselben Code verwenden und einfach negative Zahlen eingeben, wenn wir das Programm ausführen.

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int number = scanner.nextInt();
    
            // Check if the number is odd using the modulo operator
            if (number % 2 != 0) {
                System.out.println(number + " is an odd number.");
            } else {
                System.out.println(number + " is an even number.");
            }
    
            scanner.close();
        }
    }
  3. Speichern Sie die Datei (Strg+S oder Cmd+S).

  4. Kompilieren Sie das Programm erneut, um sicherzustellen, dass Sie die neueste Version haben:

    javac HelloJava.java
  5. Führen Sie das Programm aus:

    java HelloJava
  6. Wenn Sie dazu aufgefordert werden, geben Sie eine negative ungerade Zahl ein (z. B. -7) und beobachten Sie die Ausgabe.

    Enter an integer: -7
    -7 is an odd number.

    Die Ausgabe identifiziert -7 korrekt als ungerade Zahl, weil -7 geteilt durch 2 gleich -3 mit einem Rest von -1 ist. Da -1 ungleich 0 ist, ist die if-Bedingung number % 2 != 0 wahr.

  7. Führen Sie das Programm erneut aus und geben Sie eine negative gerade Zahl ein (z. B. -10).

    Enter an integer: -10
    -10 is an even number.

    Die Ausgabe identifiziert -10 korrekt als gerade Zahl, weil -10 geteilt durch 2 gleich -5 mit einem Rest von 0 ist. Die if-Bedingung number % 2 != 0 ist falsch, und der else-Block wird ausgeführt.

Dies zeigt, dass unsere aktuelle Logik zur Prüfung auf ungerade/gerade Zahlen mit dem Modulo-Operator in Java sowohl für positive als auch für negative ganze Zahlen korrekt funktioniert. Der Schlüssel ist, dass der Rest einer ungeraden Zahl, die durch 2 geteilt wird, immer ungleich 0 sein wird (entweder 1 oder -1), während der Rest einer geraden Zahl, die durch 2 geteilt wird, immer 0 sein wird.

Kombination von Prüfungen auf Gerade und Ungerade

In den vorherigen Schritten haben wir gelernt, wie man den Modulo-Operator verwendet, um zu prüfen, ob eine Zahl ungerade oder gerade ist. Unser aktuelles Programm behandelt bereits beide Fälle mit einer if-else-Anweisung.

In diesem Schritt werden wir den Code überprüfen und sicherstellen, dass wir verstehen, wie die if-else-Struktur die Prüfungen auf sowohl gerade als auch ungerade Zahlen effektiv kombiniert.

Denken wir uns den Code in Erinnerung, den wir im vorherigen Schritt verwendet haben:

import java.util.Scanner;

public class HelloJava {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter an integer: ");
        int number = scanner.nextInt();

        // Check if the number is odd using the modulo operator
        if (number % 2 != 0) {
            System.out.println(number + " is an odd number.");
        } else {
            System.out.println(number + " is an even number.");
        }

        scanner.close();
    }
}

Lassen Sie uns die Logik erneut aufschlüsseln:

  • Die Bedingung number % 2 != 0 prüft, ob der Rest, wenn number durch 2 geteilt wird, ungleich 0 ist.
  • Wenn diese Bedingung true ist, bedeutet dies, dass die Zahl ungerade ist, und der Code innerhalb des if-Blocks wird ausgeführt: System.out.println(number + " is an odd number.");.
  • Wenn die Bedingung number % 2 != 0 false ist, bedeutet dies, dass der Rest gleich 0 ist. In diesem Fall muss die Zahl gerade sein, und der Code innerhalb des else-Blocks wird ausgeführt: System.out.println(number + " is an even number.");.

Diese if-else-Struktur ist eine sehr häufige Methode, um zwei sich gegenseitig ausschließende Möglichkeiten zu behandeln (entweder ist eine Zahl ungerade oder gerade). Wir benötigen keine separate Prüfung auf gerade Zahlen, denn wenn eine Zahl nicht ungerade ist, muss sie gerade sein (bei ganzen Zahlen).

Um diesen Schritt abzuschließen, stellen Sie einfach sicher, dass Ihre HelloJava.java-Datei den korrekten Code wie oben gezeigt enthält.

  1. Öffnen Sie die Datei HelloJava.java im WebIDE-Editor.

  2. Vergewissern Sie sich, dass der Code mit dem oben angegebenen Beispiel übereinstimmt, einschließlich des import, der Verwendung von Scanner, der Eingabeaufforderung, dem Lesen der ganzen Zahl, der if-else-Anweisung mit der Modulo-Prüfung und dem Schließen des Scanners.

  3. Speichern Sie die Datei, wenn Sie Änderungen vorgenommen haben (Strg+S oder Cmd+S).

  4. Kompilieren Sie das Programm noch einmal, um sicherzugehen:

    javac HelloJava.java
  5. Führen Sie das Programm aus und testen Sie es mit sowohl ungeraden als auch geraden Zahlen (positiv und negativ), um zu bestätigen, dass es wie erwartet funktioniert.

    java HelloJava

    Beispielausgabe für eine ungerade Zahl:

    Enter an integer: 9
    9 is an odd number.

    Beispielausgabe für eine gerade Zahl:

    Enter an integer: -4
    -4 is an even number.

Sie haben nun erfolgreich ein Java-Programm implementiert und überprüft, das den Modulo-Operator und eine if-else-Anweisung verwendet, um zu bestimmen, ob eine ganze Zahl ungerade oder gerade ist. Dieses grundlegende Konzept der bedingten Logik ist von entscheidender Bedeutung für das Erstellen komplexerer Programme.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in Java mithilfe des Modulo-Operators (%) feststellt, ob eine Zahl ungerade oder gerade ist. Wir haben festgestellt, dass eine Zahl gerade ist, wenn der Rest bei der Division durch 2 gleich 0 ist, und ungerade, wenn der Rest 1 ist. Wir haben diese Logik in einem Java-Programm implementiert, das Benutzereingaben entgegennimmt und ausgibt, ob die Zahl ungerade oder gerade ist.

Wir haben auch untersucht, wie man diese Prüfung mit verschiedenen Zahlentypen verifiziert und wie man die Logik für die Prüfung auf sowohl gerade als auch ungerade Zahlen in einem einzigen Programm mithilfe einer if-else-Anweisung kombiniert. Diese praktische Erfahrung hat uns ein praktisches Verständnis von bedingten Anweisungen und dem Modulo-Operator in Java für grundlegende Prüfungen von Zahleneigenschaften vermittelt.