Para encontrar a raiz quadrada de um número, você precisa encontrar a operação inversa da multiplicação de um número por si só. Enquanto a linguagem de programação Java fornece uma função built-in " Math.sqrt ()" para calcular a raiz quadrada de um número qualquer , ele aceita apenas um ponto flutuante valor duplo tipo de dados. No entanto, você pode encontrar-se a necessidade de encontrar a raiz quadrada de um número em um tipo de dados diferente. Para este efeito , você pode construir uma função personalizada para calcular o valor da raiz quadrada manualmente. Instruções
1
Definir um método para calcular a raiz quadrada . Você deve dar o método um nome descritivo que evidencia a sua função . Certifique-se que todos os elementos necessários de um método estão presentes , ou seja, seu tipo de retorno , nome, parênteses que encerram para argumentos de método ea declaração corpo chaves. Por exemplo, um método adequado para obter a raiz quadrada de um número é :
BigDecimal público se ( BigDecimal n) {}
2
Conclua o código do corpo do método de escrita um algoritmo para calcular a aproximação da raiz quadrada de um número . Você pode usar o método de iteração de Newton para formar a base matemática de seu cálculo. Neste método, você pode calcular a raiz quadrada de um número , resolvendo repetidamente o XK equação recorrentes + 1 = 1 /2 ( xk + n /xk ), até o valor de aproximação que se aproxime do valor real de raiz quadrada. Por exemplo , o seguinte é um segmento de código em Java que realiza este cálculo :
iterações = 0;
boolean mais = true;
enquanto (mais) {< br >
lastGuess = palpite ;
acho = n.divide ( palpite , escala, BigDecimal.ROUND_HALF_UP );
acho = guess.add ( lastGuess );
acho = guess.divide ( DOIS , escala, BigDecimal.ROUND_HALF_UP );
trace ( "Next palpite " + guess.toString ());
erro = n.subtract ( guess.multiply ( suposição ) );
if ( + + iterações > = maxIterations ) {
mais = false; }
else if ( lastGuess. igual a ( acho) ) {
mais = error.abs ( ) compareTo ( ONE) > = 0 ; .
}
}
retorno acho ;
3
Definir outros métodos de apoio ao método descoberta da raiz quadrada principal , sempre que necessário. Você pode encontrar -se a necessidade de definir métodos para encontrar o valor inicial aproximação , o cálculo de erros e definir o número de iterações. Por exemplo, o código a seguir encontra o valor inicial aproximação a ser usado no cálculo principal :
private static BigDecimal getInitialApproximation ( BigDecimal n) {
BigInteger integerPart = n.toBigInteger ();
int length = integerPart.toString () comprimento ();
if (( comprimento % 2) == 0 ) {
comprimento - ,.
}
comprimento /= 2;
BigDecimal acho = ONE.movePointRight (comprimento) ;
retornar palpite ;
}
4
Teste o seu método de raiz quadrada , chamando-o e imprimir o resultado na tela. Por exemplo :
System.out.println (" Calculando a raiz quadrada de ");
sqrt = app.get (n );
< br >