Java stellt dem Benutzer ein anderes Zahlensystem zur Verfügung; Die perfekte Zahl ist ebenfalls eine Art Zahlensystem, das von Java bereitgestellt wird. Wir k?nnen jede Zahl in Java als perfekte Zahl betrachten. Wenn alle Faktoren au?er der Zahl it gleich der gegebenen Zahl sind, k?nnen wir die gegebene Zahl als perfekte Zahl betrachten. In Java k?nnen wir verschiedene Methoden verwenden, um die perfekte Zahl zu finden. Im Grunde ist die perfekte Zahl nichts anderes als jede Zahl, deren Basis 10 im Zahlensystem ist, und sie ist ein Unterk?rper des Zahlensystems in der Mathematik. Je nach Benutzeranforderungen k?nnen wir das perfekte Zahlensystem verwenden.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Logik hinter der perfekten Zahl
Sehen wir uns nun die Logik hinter der perfekten Zahl in Java wie folgt an.
Die Grundlogik der perfekten Zahl ist sehr einfach. Zuerst müssen wir den positiven Faktor einer bestimmten Zahl ermitteln und dann eine Summe aller Faktoren ohne die Zahl selbst bilden. Wenn die Summe des Faktors gleich der gegebenen Zahl ist, k?nnen wir sagen, dass die gegebene Zahl die perfekte Zahl ist, und wenn die Summe des Faktors nicht gleich der gegebenen Zahl ist, k?nnen wir sagen, dass die gegebene Zahl die perfekte Zahl ist keine perfekte Zahl. Schauen wir uns ein Beispiel für eine perfekte Zahl an. Dann erhalten wir wie folgt eine detaillierte Vorstellung.
Angenommen, wir müssen prüfen, ob 8 eine perfekte Zahl ist oder nicht.
- Ermitteln Sie zun?chst den positiven Faktor 1, 2, 4 und 8. Addieren Sie nun alle Faktoren au?er 8 und wir erhalten das Ergebnis 7. Vergleichen Sie nun das Ergebnis mit der angegebenen Zahl. siehe hier, beide Zahlen sind unterschiedlich. Das hei?t, wir k?nnen sagen, dass diese Zahl keine perfekte Zahl ist.
- Betrachten wir nun eine andere Zahl: 6.
- Finden Sie heraus, dass der positive Faktor von 6 1, 2, 3 und 6 ist.
- Die Summe aller Faktoren ist 6, au?er 6.
- Vergleichen Sie nun das Ergebnis mit der angegebenen Zahl. Sehen Sie hier, dass die angegebene Zahl und das Ergebnis dasselbe sind, was bedeutet, dass wir sagen k?nnen, dass die angegebene Zahl eine perfekte Zahl ist.
Wie überprüfe ich die perfekte Zahl in Java?
Jetzt sehen wir uns wie folgt an, wie man die perfekte Zahl in Java überprüft. In der Java-Programmierung gibt es drei verschiedene M?glichkeiten, die perfekte Zahl wie folgt zu überprüfen.
1.? Durch die Verwendung einer while-Schleife
In der while-Schleife müssen wir einige Schritte wie folgt ausführen.
1. Zuerst müssen wir die vom Benutzer eingegebene Nummer lesen.
2. Die Schleife wird fortgesetzt, bis die Bedingung (j<=no/2) falsch ist. Wenn der Rest von no/j 0 ist, addieren Sie den Wert von j zur Summe und erh?hen Sie den Wert von j. Vergleichen Sie nach Abschluss aller Iterationen das Ergebnis. Wenn die Standnummer gleich ist, geben Sie die angegebene Nummer als perfekte Nummer aus. andernfalls geben Sie die angegebene Zahl als keine perfekte Zahl aus.
3. Zum Beispiel nein=8, j=1 nein/2=4, also bedeutet j <=4, dass die Bedingung wahr ist. Finden Sie nun den Faktor.
8%j=0 wahr, dann Summe =1
J=2 2<4 ist wahr, 8%2 =0 ist wahr und Summe= 1+3=3.
Auf diese Weise schlie?en wir alle Iterationen ab, um die perfekte Zahl zu finden.
2. Durch Verwendung der statischen Methode
Bei dieser Methode k?nnen wir eine statische Methode aufrufen, um die perfekte Zahl zu überprüfen; In dieser Methode müssen wir nur die PerfacOrNot-Methode aufrufen. Es berechnet automatisch die Summe aller positiven Faktoren und prüft, ob die angegebene Zahl perfekt ist oder nicht.
3. Durch Verwendung der Rekursionsmethode
In dieser Methode rufen wir auch die PerfectOrNot()-Methode mithilfe von Objekten auf. Bei dieser Methode startet die Ausführung selbst und ruft PerfectOrNot() auf. Die Iteration wird wiederholt, bis j<= Zahl/2 falsch ist.
Beispiele
Sehen wir uns nun wie folgt die verschiedenen Beispiele für perfekte Zahlen in Java an.
Beispiel #1
Code:
import java.util.Scanner; class Perfect_number1 { public static void main(String arg[]) { long num,s=0; Scanner s_c=new Scanner(System.in); System.out.println("Enter number"); num=s_c.nextLong(); int j=1; while(j<=num/2) { if(num%j==0) { s+=j; } j++; } if(s==num) { System.out.println(num+" the given number is perfect number"); } else System.out.println(num+" the given number is not perfect number"); } }
Erkl?rung
Mit dem oben genannten Programm versuchen wir, perfekte Zahlen in Java mit einer While-Schleife zu implementieren. Die Codierung des obigen Programms ist sehr einfach. Hier haben wir die Hauptmethode erstellt. Innerhalb der Hauptmethode verwenden wir die Scannerklasse und die While-Schleife, um einen Faktor einer bestimmten Zahl zu finden und diesen Faktor in die Variable s einzufügen, die die Summe des Faktors ist, wie im obigen Programm gezeigt. Abschlie?end vergleichen wir beide Zahlen und drucken die Nachricht gem?? dem Vergleich aus. Die endgültige Ausgabe des obigen Programms veranschaulichen wir anhand des folgenden Screenshots wie folgt.
Beispiel #2
Sehen wir uns nun ein weiteres Beispiel einer perfekten Zahl an, indem wir die statische Methode wie folgt verwenden.
Code:
import java.util.Scanner; class Perfect_Method { public static void main(String arg[]) { long num,m; Scanner s_c=new Scanner(System.in); System.out.println("Enter number"); num=s_c.nextLong(); m=perfectOrNot(num); if(m==num) System.out.println(num+" The given number is perfect number"); else System.out.println(num+" The given number is not perfect number"); } static long perfectOrNot(long n) { long s=0; for(int j=1;j<=n/2;j++) { if(n%j==0) { s+=j; } } return s; } }
Erkl?rung
In the above program, we use a static method to check if a given number is a perfect number or not. In the above program, we use the perfecOrNot () method. After that, we use a for loop to find the factors of the given number, and the remaining process is the same, that is, to compare the result with the given number and print a message according to the comparison. The final output of the above program we illustrate by using the following screenshot as follows.
Example #3
Now let’s see another example to check perfect numbers by using the recursive Method as follows.
Code:
public class Recursive { static int n = 200; static int s = 0; static int d = 1; static int findPerfect(int n, int d) { { if(d<=n/2) { if(n%d==0) { s+=d; } d++; findPerfect(n,d); } return s; } } public static void main(String args[]) { int r = findPerfect(n,d); if(r == n) System.out.println(" The given number is perfect Number"); else System.out.println("The given number is not perfect Number"); } }
Explanation
In the above program, we are using a recursive method to check the perfect number. The final output of the above program we illustrate by using the following screenshot as follows.
Conclusion
We hope from this article you learn Perfect Number in java. From the above article, we have learned the basic logic of Perfect Numbers, and we also see different examples of Perfect Numbers. From this article, we learned how and when we use the Perfect Number in java.
Das obige ist der detaillierte Inhalt vonPerfekte Zahl in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Der Klassenladermechanismus von Java wird über den Classloader implementiert und sein Kernworkflow ist in drei Stufen unterteilt: Laden, Verknüpfung und Initialisierung. W?hrend der Ladephase liest Classloader den Bytecode der Klasse dynamisch und erstellt Klassenobjekte. Zu den Links geh?ren die überprüfung der Richtigkeit der Klasse, die Zuweisung von Ged?chtnissen für statische Variablen und das Parsen von Symbolreferenzen; Die Initialisierung führt statische Codebl?cke und statische Variablenzuordnungen durch. Die Klassenbelastung übernimmt das übergeordnete Delegationsmodell und priorisiert den übergeordneten Klassenlader, um Klassen zu finden, und probieren Sie Bootstrap, Erweiterung und ApplicationClassloader. Entwickler k?nnen Klassenloader wie URLASSL anpassen

Java unterstützt asynchrone Programmierungen, einschlie?lich der Verwendung von Vervollst?ndigungsfuture, reaktionsschnellen Streams (wie Projecreactor) und virtuellen Threads in Java19. 1.CompletableFuture verbessert die Code -Lesbarkeit und -wartung durch Kettenaufrufe und unterstützt Aufgabenorchestrierung und Ausnahmebehandlung. 2. Projecreactor bietet Mono- und Flusstypen zur Implementierung der reaktionsschnellen Programmierung mit Backpressure -Mechanismus und reichhaltigen Operatoren. 3.. Virtuelle Themen senken die Parallelit?tskosten, sind für E/O-intensive Aufgaben geeignet und sind leichter und leichter zu erweitern als herk?mmliche Plattformf?den. Jede Methode hat anwendbare Szenarien, und entsprechende Tools sollten entsprechend Ihren Anforderungen ausgew?hlt werden, und gemischte Modelle sollten vermieden werden, um die Einfachheit aufrechtzuerhalten

Javanio ist ein neuer IOAPI, der von Java 1.4 eingeführt wurde. 1) richtet sich an Puffer und Kan?le, 2) enth?lt Puffer-, Kanal- und Selektorkomponenten, 3) unterstützt den nicht blockierenden Modus und 4) verhandelt gleichzeitiger Verbindungen effizienter als herk?mmliches IO. Die Vorteile spiegeln sich in: 1) Nicht blockierender IO reduziert den überkopf der Gewinde, 2) Puffer verbessert die Datenübertragungseffizienz, 3) Selektor realisiert Multiplexing und 4) Speicherzuordnungsgeschwindigkeit des Lesens und Schreibens von Dateien. Beachten Sie bei Verwendung: 1) Der Flip/Clear -Betrieb des Puffers ist leicht verwirrt zu sein, 2) unvollst?ndige Daten müssen manuell ohne Blockierung verarbeitet werden, 3) Die Registrierung der Selektor muss rechtzeitig storniert werden, 4) NIO ist nicht für alle Szenarien geeignet.

In Java eignen sich Enums für die Darstellung fester konstanter Sets. Zu den Best Practices geh?ren: 1. Enum verwenden, um festen Zustand oder Optionen zur Verbesserung der Sicherheit und der Lesbarkeit der Art darzustellen; 2. Fügen Sie ENUs Eigenschaften und Methoden hinzu, um die Flexibilit?t zu verbessern, z. B. Felder, Konstruktoren, Helfermethoden usw.; 3. Verwenden Sie ENUMMAP und Enumset, um die Leistung und die Typensicherheit zu verbessern, da sie basierend auf Arrays effizienter sind. 4. Vermeiden Sie den Missbrauch von Enums, wie z. B. dynamische Werte, h?ufige ?nderungen oder komplexe Logikszenarien, die durch andere Methoden ersetzt werden sollten. Die korrekte Verwendung von Enum kann die Codequalit?t verbessern und Fehler reduzieren. Sie müssen jedoch auf seine geltenden Grenzen achten.

Anonyme interne Klassen werden in Java verwendet, um Unterklassen zu erstellen oder Schnittstellen im laufenden Fliegen zu implementieren. Die Syntaxform ist eine neue Schnittstelle oder Klasse, die den Klassenk?rper direkt definiert und erfordert, dass die zugegriffenen lokalen Variablen endgültig oder ?quivalent unver?nderlich sein müssen. Obwohl sie bequem sind, sollten sie nicht überbeansprucht werden. Besonders wenn die Logik komplex ist, k?nnen sie durch Java8s Lambda -Ausdrücke ersetzt werden.

Der Schlüssel zum Umgang mit Ausnahmen in Java liegt darin, sie zu fangen, sie klar umzugehen und keine Probleme zu vertuschen. Zun?chst müssen wir nach Bedarf bestimmte Ausnahmetypen fangen, allgemeine F?nge vermeiden und Checkedexceptions priorisieren. Laufzeitausnahmen sollten im Voraus beurteilt werden. Zweitens müssen wir das Log -Framework verwenden, um Ausnahmen aufzuzeichnen und auf der Grundlage des Typs erneut zu rollen oder zu werfen. Drittens müssen wir den endgültigen Block verwenden, um Ressourcen zu ver?ffentlichen und Try-with-Ressourcen zu empfehlen. Viertens müssen wir vernünftigerweise benutzerdefinierte Ausnahmen definieren, RunTimeException oder Ausnahme erben und Kontextinformationen zum einfachen Debuggen tragen.

Das Singleton -Design -Muster in Java stellt sicher, dass eine Klasse nur eine Instanz hat und einen globalen Zugangspunkt über private Konstrukteure und statische Methoden bietet, die für die Kontrolle des Zugriffs auf gemeinsame Ressourcen geeignet sind. Zu den Implementierungsmethoden geh?ren: 1. Lazy Loading, dh die Instanz wird nur dann erstellt, wenn die erste Anfrage angefordert wird. Dies ist für Situationen geeignet, in denen der Ressourcenverbrauch hoch und nicht unbedingt erforderlich ist. 2. Thread-safe-Verarbeitung, um sicherzustellen, dass nur eine Instanz in einer Umgebung mit mehreren Threaden durch Synchronisationsmethoden oder doppelte überprüfung erstellt wird und die Leistungsauswirkungen reduziert; 3. Hungrige Belastung, die die Instanz w?hrend der Klassenbelastung direkt initialisiert, eignet sich für leichte Objekte oder Szenarien, die im Voraus initialisiert werden k?nnen. 4. Die Implementierung der Aufz?hlung, die die Java -Aufz?hlung verwendet, um die Serialisierung, die Sicherheit von Faden und reflektierende Angriffe auf natürliche Weise zu unterstützen, ist eine empfohlene und zuverl?ssige Methode. Verschiedene Implementierungsmethoden k?nnen nach bestimmten Anforderungen ausgew?hlt werden

String ist unver?nderlich, StringBuilder ist ver?nderlich und nicht-thread-safe. 1. Sobald der Inhalt der Zeichenfolge erstellt wird, kann er nicht ge?ndert werden, er ist für eine kleine Menge Splei?en geeignet. 2. StringBuilder eignet sich zum h?ufigen Splei?en einzelner F?den und hat eine hohe Leistung. 3.. StringBuffer eignet sich für gemeinsam genutzte Szenarien mit mehreren Threads, hat jedoch eine etwas geringere Leistung. 4. Setzen Sie die anf?ngliche Kapazit?t vernünftig und vermeiden Sie die Verwendung von String -Splei?en in Schleifen k?nnen die Leistung verbessern.
