Nwlapcug.com


Come fare una funzione di radice quadrata in Java

Come fare una funzione di radice quadrata in Java


Per trovare la radice quadrata di un numero, è necessario trovare l'operazione inversa della moltiplicazione di un numero di per sé. Mentre il linguaggio di programmazione Java fornisce un built-in funzione di "Lenta" per calcolare la radice quadrata di un numero qualsiasi, si accetta solo un tipo di dati a virgola mobile valore double. Tuttavia, si possono trovare te bisogno di trovare la radice quadrata di un numero in un tipo di dati diverso. Per questo scopo, è possibile creare una funzione personalizzata per calcolare manualmente il valore della radice quadrata.

Istruzioni

1

Definire un metodo per calcolare la radice quadrata. Si dovrebbe dare il metodo un nome descrittivo che rifletta la sua funzione. Garantire che tutti gli elementi necessari di un metodo sono presenti, vale a dire relativo ritorno tipo, nome, racchiudendo tra parentesi per gli argomenti del metodo e la dichiarazione di corpo in parentesi graffe. Ad esempio, è un metodo appropriato per ottenere la radice quadrata di un numero:

BigDecimal pubblici fatti (BigDecimal n) {}

2

Completare il codice relativo al corpo del metodo di scrittura di un algoritmo per calcolare l'approssimazione della radice quadrata di un numero. È possibile utilizzare metodo di iterazione del Newton per formare la base matematica del calcolo. In questo metodo, è possibile calcolare la radice quadrata di un numero, ripetutamente risolvendo l'equazione ricorrente xk + 1 = 1/2(xk + n/xk) fino a quando il valore di approssimazione si avvicina al valore effettivo di radice quadrata. Ad esempio, il seguente è un segmento di codice in Java che esegue questo calcolo:

iterations = 0;

boolean more = true;

while (more) {

lastGuess = guess;

guess = n.divide(guess, scale, BigDecimal.ROUND_HALF_UP);

guess = guess.add(lastGuess);

guess = guess.divide (TWO, scale, BigDecimal.ROUND_HALF_UP);

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

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

if (++iterations >= maxIterations) {

more = false;

}

else if (lastGuess.equals (guess)) {

more = error.abs ().compareTo (ONE) >= 0;

}

}

return guess;3

Definire altri metodi di supporto per il metodo di individuazione di radice quadrata principale, ogniqualvolta sia necessario. Vi troverete a dover definire metodi per trovare il valore di prima approssimazione, errore di calcolare e impostare il numero di iterazioni. Ad esempio, il codice seguente rileva che il valore di approssimazione iniziale da utilizzare nel calcolo principale:

private static BigDecimal getInitialApproximation (BigDecimal n) {

BigInteger integerPart = n.toBigInteger ();

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

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

length--;

}

length /= 2;

BigDecimal guess = ONE.movePointRight (length);

return guess;

}

4

Prova il tuo metodo di radice quadrata di chiamarlo e stampa il risultato sullo schermo. Per esempio:

System.out.println ("la radice quadrata di Computing");

sqrt = app.get (n);