For å finne kvadratroten av et tall, må du finne den inverse drift av multiplisere et tall med seg selv . Mens Java programmeringsspråk gir en innebygd " Math.sqrt ( ) "-funksjonen til å beregne kvadratroten av et tall , aksepterer det bare et flyttall dobbel verdi datatype. Imidlertid kan du finne deg selv å måtte finne kvadratroten av et tall i en annen datatype . For dette formålet , kan du bygge en egendefinert funksjon for å beregne kvadratroten verdi manuelt . Instruksjoner
en
Definer en metode for å beregne kvadratroten . Du bør gi metoden et beskrivende navn som gjenspeiler dens funksjon . Sørg for at alle de nødvendige elementene i en metode er til stede , nemlig sin retur-type , navn , vedlagt parentes metode argumenter og kroppen erklæring i bukseseler. For eksempel er en egnet metode for å få kvadratroten av et tall : en
offentlig BigDecimal get ( BigDecimal n ) { }
2
Komplett kroppen kode for metoden ved å skrive en algoritme for å beregne tilnærming av kvadratroten av et tall. Du kan bruke Newtons gjentakelse metode for å danne det matematiske grunnlaget for beregningen. I denne metoden , kan du regne ut kvadratroten av et tall ved gjentatte ganger å løse tilbakevendende ligningen xk + 1 = 1 /2 ( xk + n /xk ) til tilnærming verdien kommer nær den faktiske kvadratroten verdi. For eksempel er følgende en kode segment i Java som utfører denne beregningen :
gjentakelser = 0;
boolean mer = true;
while ( mer ) {
lastGuess = gjette ;
gjette = n.divide ( gjetning, skala , BigDecimal.ROUND_HALF_UP ) ; gjette
= guess.add ( lastGuess ) ;
gjett = guess.divide ( TWO , skala , BigDecimal.ROUND_HALF_UP ) ;
trace ( "Next gjetning " + guess.toString ( ));
error = n.subtract ( guess.multiply ( gjetning ));
hvis ( + + iterasjoner > = maxIterations ) {
mer = false;
}
else if ( lastGuess. equals ( gjetning) ) {
mer = error.abs ( ) compareTo ( ONE ) > = 0; .
}
}
retur gjetning ;
3
Definer andre støtte metoder til hovedtorget - root finne metoden, når det er nødvendig . Du kan finne deg selv å måtte definere metoder for å finne den opprinnelige tilnærming verdi , beregne feil og sette antall gjentakelser . For eksempel finner følgende kode den opprinnelige tilnærming som skal brukes i de viktigste beregningen : en
privat statisk BigDecimal getInitialApproximation ( BigDecimal n ) {
BigInteger integerPart = n.toBigInteger (); < . br >
int lengde = integerPart.toString ( ) lengde ();
if ( ( lengde% 2 ) == 0 ) {
lengde - ;
< p> }
lengde /= 2;
BigDecimal gjetning = ONE.movePointRight (lengde ) ;
retur gjetning ;
}
4
Test din kvadratroten metoden ved å kalle det og skrive resultatet til skjermen. For eksempel : en
System.out.println (" Computing kvadratroten av ");
sqrt = app.get (n ) ;