Um die Quadratwurzel einer Zahl zu finden , müssen Sie die inverse Operation der Multiplikation einer Zahl mit sich selbst zu finden. Während die Programmiersprache Java bietet eine eingebaute " Math.sqrt () "-Funktion , um die Quadratwurzel aus einer beliebigen Anzahl zu berechnen, nimmt er nur eine Gleitkomma- double-Wert Datentyp. Allerdings können Sie feststellen, dass Sie die Quadratwurzel einer Zahl in einem anderen Datentyp zu finden. Zu diesem Zweck können Sie eine benutzerdefinierte Funktion , um die Quadratwurzel Wert manuell berechnen. Anleitung
1
Definieren Sie eine Methode , um die Quadratwurzel zu berechnen. Sie sollte dem Verfahren einen beschreibenden Namen , die seine Funktion widerspiegelt. Stellen Sie sicher, dass alle notwendigen Elemente für ein Verfahren vorhanden sind, nämlich seine Rückkehr Typ, Name, umschließenden Klammern Verfahren Argumente und den Körper Erklärung in Klammern . Zum Beispiel ist eine geeignete Methode , um die Quadratwurzel einer Zahl zu bekommen:
öffentlichen BigDecimal get ( BigDecimal n ) {}
2 Komplette
der Körper Code des Verfahrens durch Schreiben ein Algorithmus , um die Annäherung der Quadratwurzel einer Zahl zu berechnen . Sie dürfen die Newtonschen Iteration Methode, um die mathematische Grundlage Ihrer Berechnung bilden . Bei diesem Verfahren können Sie die Quadratwurzel einer Zahl durch mehrmaliges Lösen der wiederkehrenden Gleichung xk + 1 = 1/2 ( xk + n /xk ), bis die Angleichung Wert kommt nahe an der tatsächlichen Quadratwurzel zu berechnen. Zum Beispiel ist das folgende ein Code-Segment in Java , die diese Berechnung durchführt :
Iterationen = 0;
boolean mehr = true;
while ( mehr ) {
lastGuess = erraten,
erraten = n.divide ( Vermutung , Maßstab , BigDecimal.ROUND_HALF_UP );
erraten = guess.add ( lastGuess );
erraten = guess.divide (TWO , Maßstab , BigDecimal.ROUND_HALF_UP );
trace ( "Next guess" + guess.toString ());
error = n.subtract ( guess.multiply ( Vermutung) );
if ( + + Iterationen > = MaxIterations ) {
mehr = false; }
else if ( lastGuess. equals ( Vermutung) ) {
mehr = error.abs () compareTo (ONE) > = 0; .
} }
Rückkehr Vermutung ;
3
Definieren andere unterstützende Methoden zum Hauptplatz -root finden Verfahren , wann immer notwendig. Sie können feststellen, dass Sie Methoden definieren , um die anfängliche Annäherung Wert zu finden , berechnen und Fehler festgelegte Anzahl von Iterationen . Zum Beispiel findet der folgende Code die erste Annäherung Wert, der in der Haupt- Berechnung verwendet werden:
private static BigDecimal getInitialApproximation ( BigDecimal n ) {
BigInteger IntegerPart = n.toBigInteger (); < . br>
int length = integerPart.toString () Länge ();
if (( Länge % 2) == 0) {
Länge - ;
< p> }
Länge /= 2;
BigDecimal Vermutung = ONE.movePointRight (Länge) ;
Rückkehr Vermutung ;
}
4
Testen Sie Ihr Quadratwurzel -Methode , indem er sie und drucken das Ergebnis auf dem Bildschirm. Zum Beispiel:
System.out.println (" Berechnung der Quadratwurzel ");
sqrt = app.get ( n );