Wie werden BigInteger-Objekte für die Berechnung und in for-Schleifen verwendet? Vorausgesetzt, ich muss die größte Primzahl unter einer gegebenen Zahl finden, wie mache ich eine Schleife zwischen 2 und der großen Zahl? Es übersteigt die maximale Größe von int und langen Datentypen bei weitem.Arithmetische Operationen auf BigInteger in Java
Antwort
Wenn Sie also nach einer Schleife suchen, deren Zahlen größer als ganze Zahlen sind, können Sie so etwas versuchen.
for(BigInteger i = BigInteger.ZERO; i < *your big number here*; i= i.add(BigInteger.ONE){
//whatever you're looking to do
}
Die
Da 'BigInteger's unveränderlich sind, bedeutet das Ignorieren des Ergebnisses eines Aufrufs von' add() ', dass der Aufruf _nothing_ ausführt. Die korrekte Form für den dritten Teil der Schleife ist "i = i.add (BigInteger.ONE)" - beachte, dass "BigInteger.ONE" auch im Allgemeinen besser lesbar ist als ein "valueOf()" - Aufruf. Dasselbe gilt für 'BigInteger.ZERO', das Sie in der ersten Klausel Ihrer For-Schleife verwenden können. -1, um die Korrektheit Ihres Codes nicht zu überprüfen, aber ich werde ihn entfernen, wenn Sie eine Änderung vornehmen, um den Fehler zu beheben. – bcsb1001
Danke für den Fang! –
Sie verwenden immer noch nicht das Ergebnis von 'add()'. 'i = i.add (BigInteger.ONE)', nicht nur der Aufruf von 'add()'. – bcsb1001
Ihre Antwort funktionieren soll, ist, wie üblich, in der [Dokumentation] (https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger. html). Wenn Sie Fragen zu einer Klasse haben, ist dies normalerweise der richtige Ort, um Ihre Antworten zu finden. – bcsb1001
was Sie fragen, ist unklar. folgen Sie diesem Link http://stackoverflow.com/help/how-to-ask – Priyamal