Hvordan lage en kvadratrot Funksjon i Java

Hvordan lage en kvadratrot Funksjon i Java


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 en flyttalls dobbel verdi datatype. Imidlertid kan du finne deg selv ønsker å finne kvadratroten av et tall i en annen datatype. For dette formålet, kan du bygge en egendefinert funksjon for å beregne kvadratroten verdien manuelt.

Bruksanvisning

1 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 returtype, navn, vedlagt parentes metode argumenter og kroppen erklæring i bukseseler. For eksempel vil en hensiktsmessig måte få kvadratroten av et tall er:

offentlig BigDecimal får (BigDecimal n) {}

2 Fullfør legeme koden av fremgangsmåten ved å skrive en algoritme for å beregne en 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 beregne kvadratroten av et tall ved gjentatte ganger å løse den tilbakevendende ligningen xk + 1 = 1/2 (xk + n / xk) til tilnærming verdien kommer nær den faktiske kvadratroten verdi. For eksempel er det følgende et kodesegmentet i Java som utfører denne beregningen:

iterations = 0;

boolean mer = true;

while (flere) {

lastGuess = gjetning;

gjett = n.divide (gjetning, skala, BigDecimal.ROUND_HALF_UP);

gjett = guess.add (lastGuess);

gjett = guess.divide (TO, skala, BigDecimal.ROUND_HALF_UP);

trace ( "Next gjetning" + guess.toString ());

error = n.subtract (guess.multiply (gjett));

if (++ iterasjoner> = maxIterations) {

mer = false;

}

else if (lastGuess.equals (gjetning)) {

mer = error.abs () .compareTo (en)> = 0;

}

}

tilbake gjetning;

3 Definere andre som støtter metoder til hovedtorget-roten finne metoden, når det er nødvendig. Du kan finne deg selv ønsker å definere metoder for å finne den opprinnelige tilnærming verdi, beregne feil og sette antall gjentakelser. For eksempel vil den følgende kode den første tilnærmelse verdi som skal brukes i hoved beregningen:

private static BigDecimal getInitialApproximation (BigDecimal n) {

BigInteger integerPart = n.toBigInteger ();

int lengde = integerPart.toString () .length ();

if ((lengde 2%) == 0) {

lengde--;

}

lengde / = 2;

BigDecimal gjette = ONE.movePointRight (lengde);

tilbake gjetning;

}

4 Test din kvadratrot metoden ved å kalle det, og skriver ut resultatet på skjermen. For eksempel:

System.out.println ( "Computing kvadratroten av");

sqrt = app.get (n);