Introdução à raiz quadrada em Java
A raiz quadrada de um número pode ser calculada em Java usando o método sqrt () da classe Math como Math.sqrt () da biblioteca Java. Existem várias maneiras de encontrar a raiz quadrada de um número. O método padrão ou normal para encontrar a raiz quadrada de um número é o método de divisão longa. É difícil aplicar esse método, caso o número seja grande e exija muito tempo para concluir o processo. Esse problema também pode ser resolvido usando o método de Newton Raphson dentre os vários métodos numéricos disponíveis e depende do desempenho e da otimização.
Como a raiz quadrada funciona em Java?
A raiz quadrada de um número pode ser calculada em Java, usando uma sequência de etapas escritas abaixo, de maneira eficiente, usando loops de iteração básicos.
- O principal princípio envolvido na busca da raiz quadrada de um número são operações matemáticas básicas, como multiplicação, divisão, adição e subtração de maneira eficiente e eficaz.
- O número de entrada é manipulado primeiro executando várias operações matemáticas para determinar o valor aproximado da raiz quadrada.
- O elemento de entrada no método usado aqui é dividido pela metade do seu número real e o processo é repetido continuamente usando o loop while ou algum loop iterativo até que o número e seu valor metade se tornem iguais.
- Dessa maneira, ou aproximações repetidas, permitem que o número seja muito preciso na obtenção da raiz quadrada de um número.
- No exemplo abaixo, o loop do while em java é usado para realizar as iterações, comparando a diferença de um número real e sua metade no loop while e a lógica de aproximação é realizada no bloco do.
- Finalmente, o valor aproximado da raiz quadrada com alta precisão é obtido através dos cálculos acima e o valor final é retornado.
- A eficiência deste programa depende do método usado para encontrar a raiz quadrada de um número. Existem vários métodos matemáticos ou numéricos para descobrir a raiz quadrada de um número em que a eficiência e a precisão dependem do método usado e de sua complexidade.
- A eficiência do algoritmo também depende do tamanho do número de entrada. Se for um número muito grande, haverá um impacto no desempenho do programa e o método precisará ser reconsiderado e tudo depende do requisito e das entradas.
- A raiz quadrada do número de entrada usado aqui é do tipo de dados duplo, onde o valor da raiz quadrada também pode ser calculado para números decimais.
Exemplos para implementar raiz quadrada em Java
A raiz quadrada de um número foi implementada usando a linguagem de programação Java como abaixo e o código de saída foi exibido sob o código.
- O método usado aqui possui argumentos de entrada como tipo de dados duplo e o nome do método é findSquareRoot () e esse método retorna o valor da raiz quadrada com o tipo de retorno como um tipo de dados int.
- Depois que o método findSquareRoot () é chamado, primeiro cria uma nova variável temporária num para executar algumas operações e depois cria outra variável 'half' para dividir o valor pela metade e compará-lo com o valor original.
- A próxima etapa possui um loop do-while para continuar aproximando o valor de entrada até que um valor exato seja obtido.
- O bloco do contém a variável num que é atribuída a um valor como valor de entrada e a meia variável substituída por um novo valor dividindo-se num variable pela value value e adicionando o valor a uma meia variável e dividindo o valor inteiro.
- No bloco while, a lógica contém para encontrar a diferença entre o valor médio para aproximação do valor do resultado e o valor de entrada e comparar seu valor com '0'.
- Esse processo no bloco acontece até que o loop in lógica seja válido (ou seja, verdadeiro), avaliando a diferença de variáveis usando o operador de negação e o operador de atribuição que funciona como um comparador.
- Uma vez que a lógica while se torna falsa, o valor da meia variável é retornado do método findSquareRoot () e o resultado pode ser usado pela atribuição a uma variável.
- O mesmo método pode ser chamado em qualquer lugar usando modificadores estáticos ou não estáticos. Aqui neste programa, o método é definido como estático, de modo que foi chamado no método principal.
- A funcionalidade inteira e os dois métodos são escritos dentro da classe SquareRoot, que realmente encapsula o comportamento da funcionalidade da raiz quadrada.
- Os valores de entrada podem ser passados de acordo com a capacidade máxima do tipo de dados duplo e a complexidade do programa depende novamente dos valores de entrada passados.
Implementação de código da raiz quadrada de um número em Java
public class SquareRoot ( public static void main(String() args) ( System.out.print(findSquareRoot(2)); ) /* * Class to find square root of number */ public static double findSquareRoot(int value) ( double num; double half = (double) value / 2; do ( num = half; half = (num + (value / num)) / 2; ) while ((num - half) != 0); return half; )
)
Resultado:
1.414213562373095
Conclusão
A raiz quadrada de um número implementado acima é um método dentre muitas possibilidades disponíveis e qualquer método pode ser abordado com base no requisito e no tamanho dos números de entrada. A complexidade de tempo e espaço do programa deve ser analisada antes de prosseguir com um método específico.
Artigos recomendados
Este é um guia para a raiz quadrada em Java. Aqui discutimos como o Square Root funciona em Java com exemplo e implementação de código. Você também pode consultar os seguintes artigos para saber mais -
- Como encontrar a raiz quadrada em C?
- O que é declaração de caso em Java?
- Como o encapsulamento funciona em Java?
- Guia para copiar o construtor em Java
- Introdução à declaração de caso em JavaScript
- Loop While do JavaScript
int x = 2; Math. sqrt(x); Neste exemplo, utilizaremos o método sqrt da classe Math para extrair a raiz quadrada do número que for digitado em uma caixa de texto, um componente 'Campo de texto' para o usuário digitar o número desejado, e um componente 'Rótulo' para exibir o resultado, ou seja, a raiz quadrada desse número. Todas as funções da biblioteca math....A biblioteca math. h.
sqrt( ) | Calcula raiz quadrada |
pow(variável, expoente) | potenciação |
sin( ) | seno |
cos( ) | cosseno |
Considere a seguinte equação matemática:
5 x 5 = 25
Como os dois números à esquerda do sinal de igual são iguais, dizemos que 25 é o quadrado de 5 e 5 é a raiz quadrada de 25, escritos respectivamente como,
25 = 52
e
5 =
Considere outra equação matemática, assim:
4 x 4 = 16
Como os dois números à esquerda do sinal de igual são iguais, dizemos que 16 é o quadrado de 4 e 4 é a raiz quadrada de 16, escritos respectivamente como,
16 = 42
e
4 =
O mesmo pode ser dito para 3 e 9 e 6 e 36 e outros pares de números. Em muitos casos, ambos os números são do tipo duplo. Este artigo se concentra em uma raiz quadrada. Este artigo explica como usar Java para encontrar a raiz quadrada de um número, semelhante a como a calculadora produziria a raiz quadrada de um número.
Sintaxe
Java tem um método para retornar a raiz quadrada de um número: é sqrt (). É um membro da aula de matemática. A sintaxe completa é:
públicoestáticoDuplo sqrt(Duplo uma)
É público. Isso significa que ele pode ser chamado de fora da implementação da classe. É estático. Isso significa que a classe Math não precisa ser instanciada para o método a ser usado. Para usar o método, comece com o nome da classe de matemática, Math, seguido por um ponto e, a seguir, o método. Não se esqueça de colocar no argumento, que é o número cuja raiz quadrada é necessária. O argumento é do tipo duplo e o valor de retorno é do tipo duplo. Isso significa que o tipo de retorno deve ser declarado como double. A classe Math não precisa ser importada pelo programador antes de ser usada.
Por que duplo tipo de argumento e duplo tipo de retorno
O argumento é do tipo duplo e o valor de retorno é do tipo duplo. Java tem os seguintes tipos numéricos: byte, int, long, float e double. Existem outros tipos de sub-int, que este artigo não abordará. A diferença entre o tipo long e o tipo int é que a variável de tipo long pode conter números maiores do que o limite do tipo int e conter números dentro do intervalo do tipo int. Ambos os números flutuantes e de tipo duplo não são exatos. A diferença entre o float e o double é que o número duplo está mais próximo do número que representa do que o número do float.
Raiz quadrada do número interno
O programa a seguir gera a raiz quadrada do inteiro, 10:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(10);
Sistema.Fora.println(ret);
}
}
Observe que o tipo de retorno é codificado como duplo. O resultado é:
As casas decimais são muito longas. Quando não informado, arredonde suas casas decimais para duas casas decimais. O programa a seguir ilustra isso:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret1 =Matemática.sqrt(10);
Duplo ret2 =Matemática.arredondar(ret1*100)/100.0;
Sistema.Fora.println(ret2);
}
}
A segunda instrução em main () faz o arredondamento. A saída é 3,16.
A saída nem sempre deve ser arredondada por código. Se o inteiro cuja raiz quadrada era exigida fosse 25, o valor de retorno do método sqrt () teria sido 5,0. O programa a seguir ilustra isso:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(25);
Sistema.Fora.println(ret);
}
}
A declaração de arredondamento foi omitida. A saída é 5,0. O “.0” está lá porque o valor de retorno é um duplo.
Raiz quadrada do número flutuante
Em Java, um número flutuante deve terminar com 'f'.
O programa a seguir gera a raiz quadrada do float, 11,22:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(11.22f);
Sistema.Fora.println(ret);
}
}
Observe que o tipo de retorno é codificado como duplo. O resultado é:
As casas decimais são muito longas. Quando não informado, arredonde suas casas decimais para duas casas decimais. O programa a seguir ilustra isso:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret1 =Matemática.sqrt(11.22f);
Duplo ret2 =Matemática.arredondar(ret1*100)/100.0;
Sistema.Fora.println(ret2);
}
}
A segunda instrução em main () faz o arredondamento. A saída é 3,35.
A saída nem sempre deve ser arredondada por código. Se o inteiro cuja raiz quadrada era exigida fosse 16,0, o valor de retorno do método sqrt () teria sido 4,0. O programa a seguir ilustra isso:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(16.0f);
Sistema.Fora.println(ret);
}
}
A declaração de arredondamento foi omitida. A saída é 4.0. O “.0” está lá porque o valor de retorno é um duplo.
Raiz quadrada de número duplo
O programa a seguir gera a raiz quadrada do duplo, 11,22:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(11.22);
Sistema.Fora.println(ret);
}
}
Observe que o tipo de retorno é codificado como duplo. O resultado é:
3.3496268448888453
As casas decimais também são grandes. Quando não informado, arredonde suas casas decimais para dois dígitos decimais. O seguinte programa, ilustra isto:
[cc lang="Java" largura="100%" altura="100%" escapou="verdadeiro" tema="quadro-negro" nowrap="0"]
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret1 =Matemática.sqrt(11.22);
Duplo ret2 =Matemática.arredondar(ret1*100)/100.0;
Sistema.Fora.println(ret2);
}
}
A segunda instrução em main () faz o arredondamento. A saída é 3,35.
A saída nem sempre deve ser arredondada por código. Se o inteiro cuja raiz quadrada era exigida fosse 16,0, o valor de retorno do método sqrt () teria sido 4,0. O programa a seguir ilustra isso:
públicoclasse A classe {
públicoestáticovazio a Principal(Corda[] args){
Duplo ret =Matemática.sqrt(16.0);
Sistema.Fora.println(ret);
}
}
A declaração de arredondamento foi omitida. A saída é 4.0. O “.0” está lá porque o valor de retorno é um duplo.
Conclusão
Java tem o método sqrt () para raiz quadrada. Leva um número como argumento e retorna a raiz quadrada como um tipo duplo. Se o número de casas decimais for alto, o número deve ser arredondado. Como arredondar um número para duas casas decimais foi ilustrado acima.