Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java Palindrom-Zahl-Prüfer: Algorithmen mit While- und For-Schleifen

Was ist eine Palindrom-Zahl?

Palindrom-Zahl liest sich vorwärts und rückwärts gleich. Beispiele sind 121, 393 und 48084. Sie weisen Spiegel-Symmetrie auf und werden oft in algorithmischen Rätseln verwendet.

In Java sind Palindrom-Prüfungen gängige Aufgaben in Interviews und Coding-Challenges. Der Algorithmus ist einfach, kann aber auf verschiedene Weisen implementiert werden.

Algorithmus-Übersicht

  • Eingabe-Ganzzahl einlesen.
  • Ihre Ziffern umkehren und das Ergebnis speichern.
  • Die umgekehrte Zahl mit der ursprünglichen vergleichen.
  • Stimmen sie überein, ist die Zahl ein Palindrom; andernfalls nicht.

Prüfung mit While-Schleife

while-Schleife verwendet, um die Zahl umzukehren und zu prüfen, ob es sich um ein Palindrom handelt. Der Code gibt Zwischenschritte aus, um den Prozess zu veranschaulichen.

package com.guru99;
public class PalindromZahl {
    public static void main(String[] args) {
        int eingabeZahl = 171; // zu prüfende Zahl
        int umgekehrt = 0;
        int temp = eingabeZahl;
        while (temp > 0) {
            int letzteZiffer = temp % 10;
            umgekehrt = (umgekehrt * 10) + letzteZiffer;
            temp /= 10;
        }
        System.out.println("Umgekehrte Zahl: " + umgekehrt);
        if (umgekehrt == eingabeZahl) {
            System.out.println("Zahl ist ein Palindrom.");
        } else {
            System.out.println("Zahl ist kein Palindrom.");
        }
    }
}

Ausgabe

Umgekehrte Zahl: 171
Zahl ist ein Palindrom.

Prüfung mit For-Schleife

Derselbe Logik lässt sich mit einer for-Schleife ausdrücken, was in Kontexten vorzuziehen sein kann, wo der Schleifenzähler natürlicher als dekrementierender Index ausgedrückt wird.

package com.guru99;
public class PalindromZahl {
    public static void main(String[] args) {
        int eingabeZahl = 185; // zu prüfende Zahl
        int umgekehrt = 0;
        int temp = eingabeZahl;
        for (; temp > 0; temp /= 10) {
            int letzteZiffer = temp % 10;
            umgekehrt = (umgekehrt * 10) + letzteZiffer;
        }
        System.out.println("Umgekehrte Zahl: " + umgekehrt);
        if (umgekehrt == eingabeZahl) {
            System.out.println("Zahl ist ein Palindrom.");
        } else {
            System.out.println("Zahl ist kein Palindrom.");
        }
    }
}

Ausgabe

Umgekehrte Zahl: 581
Zahl ist kein Palindrom.

Überlegungen und Best Practices

  • Negative Zahlen: Per Definition sind negative Zahlen keine Palindrome wegen des führenden Minuszeichens. Geben Sie sofort false zurück, wenn die Eingabe negativ ist.
  • Überlauf: Das Umkehren einer 32-Bit-Ganzzahl kann überlaufen. Für Produktionscode verwenden Sie long oder prüfen Sie vor jeder Multiplikation auf Überlauf.
  • String-Ansatz: Die Zahl in einen String konvertieren und mit dessen Umkehrung vergleichen ist oft simpler und fehlerresistenter, besonders bei sehr großen Zahlen.

Für detailliertere Erklärungen siehe GeeksforGeeks und Stack Overflow Diskussion zum Umkehren von Zahlen.

Java

  1. C# While und Do-While Schleifen meistern: Syntax, Beispiele und Best Practices
  2. C# For-Schleifen meistern: Syntax, Ablauf und praktische Beispiele
  3. Java Hello World: Ihr erstes Programm
  4. Java Enhanced For-Schleife meistern: Syntax, Beispiele und Best Practices
  5. Java-Programm zur Prüfung, ob eine Zahl prim ist
  6. Java-Programm: Primzahlen von 1 bis 100 auflisten – Schritt-für-Schritt-Anleitung
  7. Fibonacci-Folge in Java generieren: For-, While- und Rekursions-Beispiele
  8. Java-Programm zur Identifikation von Armstrong-Zahlen mit For-Schleife
  9. Java Palindrom-Zahl-Prüfer: Algorithmen mit While- und For-Schleifen
  10. Python Schleifen meistern: For, While, Break, Continue und Enumerate erklärt