For at finde kvadratroden af et tal, skal du finde den inverse operation af multiplikation et nummer af sig selv. Mens programmeringssproget Java giver en indbygget " Math.sqrt ()" funktionen til at beregne kvadratroden af et vilkårligt antal , det accepterer kun et floating-point dobbelt værdi datatype. Dog kan du finde dig selv behøver at finde kvadratroden af et tal i en anden datatype . Til dette formål , kan du bygge en brugerdefineret funktion til at beregne kvadratroden værdien manuelt . Instruktioner
1
Definer en metode til at beregne kvadratroden . Du bør give den metode et beskrivende navn, der afspejler dens funktion. Sørg for, at alle de nødvendige elementer af en metode er til stede , nemlig dens returtype , navn, omslutter parentes metode argumenter og kroppen erklæring i seler. For eksempel er en hensigtsmæssig metode til at få kvadratroden af et tal : Hej
offentlig BigDecimal get ( BigDecimal n ) { }
2
Complete kroppen koden af metoden ved at skrive en algoritme til at beregne en tilnærmelse af kvadratroden af et tal. Du kan anvende Newtons Iteration metode til at danne matematiske grundlag for din beregning. I denne metode, kan du beregne kvadratroden af et tal ved gentagne gange at løse tilbagevendende ligning xk + 1 = 1 /2 ( xk + n /xk ), indtil tilnærmelse værdien kommer tæt på den faktiske kvadratroden værdi. For eksempel er det følgende en kode segment i Java , der udfører denne beregning :
iterationer = 0;
boolean mere = true;
mens (mere) { < br >
lastGuess = gætte ,
gæt = n.divide ( gæt , skala BigDecimal.ROUND_HALF_UP ),
gæt = guess.add ( lastGuess )
gæt = guess.divide ( TWO , skala BigDecimal.ROUND_HALF_UP ),
trace ( "Næste gæt " + guess.toString ());
fejl = n.subtract ( guess.multiply ( gæt )),
hvis (+ + iterationer > = maxIterations ) {
mere = false;
}
else if ( lastGuess. equals ( gæt) ) {
mere = error.abs () compareTo ( ONE ) > = 0; .
}
}
afkast gæt ,
3
Definer andre understøttende metoder til torvet -root finde metoden , når det er nødvendigt . Du kan finde dig selv behøver at definere metoder til at finde den oprindelige tilnærmelse værdi , beregner fejl og indstille antallet af gentagelser . For eksempel finder følgende kode den oprindelige tilnærmelse værdi, der skal anvendes i de vigtigste beregning : Hej
private statisk BigDecimal getInitialApproximation ( BigDecimal n ) {
BigInteger integerPart = n.toBigInteger (); < . br >
int længde = integerPart.toString () længde ();
if ( (længde % 2 ) == 0 ) {
længde - ;
< p> }
længde /= 2;
BigDecimal gæt = ONE.movePointRight (længde ),
tilbagevenden gæt ,
}
< br > 4
Test din kvadratroden metode ved at kalde det og udskrive resultatet på skærmen. For eksempel : Hej
System.out.println ( " Computing kvadratroden af ");
sqrt = app.get (n ),
< br >