English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Grundlagen-Tutorial

Java Prozesssteuerung

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Verarbeitung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Eingabe/Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Java-Programm zur Überprüfung von Armstrong-Zahlen

Java Beispiele大全

In diesem Programm lernen Sie, ob eine gegebene Zahl eine Armstrong-Zahl ist. Sie lernen, wie man dies mit for- und while-Loops in Java macht.

Eine positive Ganzzahl wird als Armstrong-Grad bezeichnet, wenn n

abcd... = an + bn + cn + dn + ...

Für3stellige Armstrong-Zahl ist, die Summe der Kubikzahlen jedes Ziffern gleich der Zahl selbst ist. Zum Beispiel:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 ist eine Armstrong-Zahl.

Beispiel1Überprüfen Sie, ob Armstrong eine3stellige Ziffern

public class Armstrong {
    public static void main(String[] args) {
        int number = 371, originalNumber, remainder, result = 0;
        originalNumber = number;
        while (originalNumber != 0)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, 3);
            originalNumber /= 10;
        }
        if (result == number)
            System.out.println(number + "Ist eine Armstrong-Zahl.");
        else
            System.out.println(number + "Keine Armstrong-Zahl.");
    }
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

371 ist eine Armstrong-Zahl.
  • Zunächst wird der Wert der Zahl (number) in eine andere Ganzzahlvariable originalNumber gespeichert. Dies liegt daran, dass wir am Ende den endgültigen Wert und den ursprünglichen Wert der Zahl vergleichen müssen.

  • Dann wird originalNumber mit einem while-Loop durchlaufen, bis es 0 ist.

    • In jeder Iteration wird das letzte Zeichen von num in remainder gespeichert.

    • Dann wird remainder mit Math.pow() hinzugefügt3(数字位数)und zu result hinzugefügt.

    • Dann wird durch10Dann wird das letzte Zeichen von originalNumber entfernt.

  • Schließlich wird result mit number verglichen. Wenn sie gleich sind, ist es eine Armstrong-Zahl. Wenn sie nicht gleich sind, ist es keine.

Beispiel2Überprüfen Sie, ob Armstrong eine n-stellige Zahl ist

public class Armstrong {
    public static void main(String[] args) {
        int number = 1634originalNumber, remainder, result = 0, n = 0;
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10, ++n);
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, n);
        }
        if (result == number)
            System.out.println(number + "	Ist eine Amstrong-Zahl.");
        else
            System.out.println(number + "	Ist keine Amstrong-Zahl.");
    }
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

1634 ist eine Amstrong-Zahl.

In diesem Programm verwenden wir keine while-Schleife, sondern zwei for-Schleifen.

Der erste for-Zyklus berechnet die Anzahl der Stellen der Zahl. Es ist in folgender komprimierter Form:

for (; originalNumber != 0; originalNumber /= 10) {
     n++;
}

Dann berechnet der zweite for-Zyklus result, wobei der Rest in jeder Iteration durch die Potenz der Zahl n berechnet wird.

Besuchen Sie diese Seite, um zu erfahren, wieZeige alle Amstrong-Zahlen zwischen zwei Intervallen an.

Java Beispiele大全