Come fare una funzione di radice quadrata in Java

September 9

Come fare una funzione di radice quadrata in Java


Per trovare la radice quadrata di un numero, è necessario trovare l'operazione inversa di moltiplicare un numero per sé. Mentre il linguaggio di programmazione Java fornisce un ") Math.sqrt (" funzione incorporata per calcolare la radice quadrata di un numero qualsiasi, si accetta solo un tipo di dati doppio valore in virgola mobile. Tuttavia, si possono trovare te bisogno di trovare la radice quadrata di un numero in un diverso tipo di dati. A questo scopo, è possibile costruire una funzione personalizzata per calcolare il valore radice quadrata manualmente.

istruzione

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

pubblico BigDecimal ottenere (BigDecimal n) {}

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

iterations = 0;

boolean più = true;

while (più) {

lastGuess = indovinare;

Immagino = n.divide (ipotesi, scala, BigDecimal.ROUND_HALF_UP);

Immagino = guess.add (lastGuess);

Immagino = guess.divide (due, scala, BigDecimal.ROUND_HALF_UP);

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

Errore = n.subtract (guess.multiply (indovinate));

if (++ iterazioni> = maxIterations) {

più = false;

}

else if (lastGuess.equals (ipotesi)) {

più = error.abs () .compareTo (uno)> = 0;

}

}

tornare indovinare;

3 Definire altri metodi di supporto al metodo di accertamento radice quadrata principale, in caso di necessità. Si può aver bisogno di definire i metodi per trovare il valore iniziale approssimazione, calcolare l'errore e il numero di serie di iterazioni. Ad esempio, il codice seguente il valore prima approssimazione da utilizzare nel calcolo principale:

private static BigDecimal getInitialApproximation (BigDecimal n) {

BigInteger integerPart = n.toBigInteger ();

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

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

lunghezza--;

}

lunghezza / = 2;

BigDecimal indovinare = ONE.movePointRight (lunghezza);

tornare indovinare;

}

4 Metti alla prova il tuo metodo di radice quadrata chiamandolo e stampa il risultato sullo schermo. Per esempio:

System.out.println ( "Il calcolo della radice quadrata di");

sqrt = app.get (n);