JavaRush /Java-Blog /Random-DE /So potenzieren Sie in Java

So potenzieren Sie in Java

Veröffentlicht in der Gruppe Random-DE
Hallo Welt! Etwas zu googeln oder in einem Forum um Hilfe zu bitten, ist selbst für einen erfahrenen Programmierer eine alltägliche Sache. Aber es gibt so grundlegende und einfache Themen in der Entwicklung, dass selbst ein unerfahrener Anfänger sie kennen sollte. Und hier ist eines dieser Themen. Heute werden wir darüber sprechen, wie die Potenzierung in Java durchgeführt wird. So führen Sie eine Potenzierung in Java durch - 1Stellen wir uns für eine Sekunde vor, Sie hätten eine Aufgabe: Finden Sie eine Zahl bis zu einem bestimmten Grad. Klingt ganz einfach, aber wie setzt man die Lösung um? Schauen wir uns die gängigste Methode und mehrere Alternativen an. Und bevor wir uns in Lösungen „eintauchen“, erinnern wir uns zunächst daran, was das Potenzieren einer Zahl ist: So führen Sie eine Potenzierung in Java durch - 2Das Potenzieren einer Zahl ist eine Aktion, bei der eine Zahl mehrmals mit sich selbst multipliziert wird. Die Zahl, die multipliziert wird, wird Basis genannt, und die Anzahl, mit der sie multipliziert wird, wird Exponent genannt. Nun, das Ergebnis dieser Selbstmultiplikation der Basis nennt man Potenzierung. Für 8 ist es beispielsweise 2 hoch 3, da 2x2x2=8. Das Erhöhen einer Zahl auf die zweite Potenz zeigt an, dass wir sie zu einem Faktor machen, der doppelt so hoch ist, und in der Regel wird diese Potenz Quadratpotenz genannt. Das heißt, 4 zum Quadrat = 4x4 = 16. Wir haben also unser Gedächtnis aufgefrischt und gehen nun direkt zu den Möglichkeiten über, pow in Java zu verwenden – einer Methode zur Potenzierung.
  1. Mathe-Pow

    Der einfachste Weg, dieses Problem zu lösen, ist die Verwendung der Math-Klasse. Dies ist die Lösung, die Sie in den meisten Fällen verwenden werden.

    So potenzieren Sie in Java - 3

    Die Mathe-Klasse enthält Methoden im Zusammenhang mit Trigonometrie, Geometrie und anderen Aspekten der Mathematik. Darin sind Methoden statisch implementiert, sodass Sie sie sofort über den Namen der Math-Klasse aufrufen können, ohne ein Klassenobjekt zu erstellen.

    Wie sieht Potenzierung aus:

    
    public static int pow(int value, int powValue) {
       return (int) Math.pow(value, powValue);
    }

    Wir mussten eine Typumwandlung (int) verwenden, da diese Methode der Math-Klasse einen Wert vom Typ double zurückgibt (die Argumente sind ebenfalls double, aber dort wird eine implizite Typumwandlung verwendet).

    Und jetzt – ein Bonus: zusätzliche Optionen.

  2. Der Wert des Quadrats einer Zahl

    Beginnen wir vielleicht mit der einfachsten Sache.

    So wird die Methode zum Quadrieren geschrieben:

    
    public static int pow(int value){
       return value*value;
    }

    Rufen Sie hauptsächlich an:

    
    public static void main(String[] args) {
       System.out.println(Solution.pow(7));
    }

    Das ist alles – nichts Kompliziertes oder Unnötiges.

  3. Zahl hoch

    Aber die quadrierte Zahl ist nicht alles, was wir brauchen. Meistens benötigen wir bei unserer Arbeit bis zu einem gewissen Grad eine Zahl, daher folgt eine etwas kompliziertere Version, jedoch mit einem benutzerdefinierten Java-Pow-Wert:

    
    public static void main(String[] args) {
       System.out.println(Solution.pow(7, 4));
    }
    
    public static int pow(int value, int powValue) {
       int result = 1;
       for (int i = 1; i <= powValue; i++) {
           result = result * value;
       }
       return result;
    }

    Der Algorithmus ist sehr einfach: Wir legen das Startpunktergebnis fest und multiplizieren es dann so oft mit unserem Wert, wie die Schleife mit powValue ausgeführt wird (powValue-Anzahl).

  4. Rekursion

    Die nächste Methode wird etwas exotischer, aber nicht weniger cool sein.

    So potenzieren Sie in Java - 4

    Rekursion ist eine Funktion, die es einer Methode ermöglicht, sich selbst aufzurufen. In Java ist ein solcher Mechanismus vorhanden, und solche Methoden werden dementsprechend als rekursiv bezeichnet.

    Viele, wenn nicht alle algorithmischen Probleme können rekursiv gelöst werden. Dies wird auch keine Ausnahme sein, also schauen wir uns an, wie Sie eine Zahl rekursiv auf eine bestimmte Potenz erhöhen können:

    
    public static int pow(int value, int powValue) {
       if (powValue == 1) {
           return value;
       } else {
           return value * pow(value, powValue - 1);
       }
    }

    Wie wir sehen, haben wir zwei Fälle:

    1. Die Bedingung für das Beenden der Rekursion, oder mit anderen Worten: Wenn unser Gradwert eins erreicht, werden wir zurückgeworfen.
    2. Der Mechanismus selbst zum Multiplizieren des Werts mit dem Ergebnis des Aufrufs derselben Methode, jedoch mit powValue - 1.

    Nun ist es an der Zeit, sich die einfacheren Methoden anzusehen, nämlich die „out of the box“-Methoden.

  5. BigInteger

    Der Hauptzweck der BigInteger-Klasse besteht darin, ganze Zahlen beliebiger Größe zu speichern. Gleichzeitig verfügt sie jedoch über verschiedene arithmetische Methoden, mit denen Sie mit diesen großen (oder nicht so großen) Zahlen arbeiten können.

    So potenzieren Sie in Java - 5

    Weitere Informationen zu BigInteger finden Sie in diesem Artikel .

    Wie würde also die Potenzierung mit BigInteger in Java aussehen?

    
    public static int pow(int value, int powValue) {
       BigInteger a = new BigInteger(String.valueOf(value));
      return a.pow(powValue).intValue();
    }

    Ganz einfach und problemlos, oder?

Nun, das ist alles für heute! Jetzt kennen Sie verschiedene Möglichkeiten zur Potenzierung. Stimme zu, das war kein schwieriges Thema :)
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION