在 Java 中,可以使用 Math 类中的 sqrt() 方法(如 Java 库中的 Math.sqrt() )来计算数字的平方根。有多种方法可以求出数字的平方根。求数字平方根的标准或常规方法是长除法。然而,当数量很大并且需要大量时间来完成该过程时,该方法很难应用。这个问题也可以通过使用几种可用数值方法中的牛顿拉夫森方法来解决,并且取决于性能和优化。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
平方根在 Java 中如何工作?
在 Java 中,可以使用基本迭代循环,使用如下所示的一系列步骤有效地计算数字的平方根。
- 求一个数的平方根所涉及的主要原理是高效且有效地进行乘法、除法、加法和减法等基本数学运算。
- 首先通过执行多个数学运算来操纵输入数字,以确定近似的平方根值。
- 此处使用的方法中的输入元素除以其实际数量的一半,并使用 while 循环或某种迭代循环不断重复该过程,直到该数量与其一半值相等。
- 通过这种方式,或者说重复近似,可以非常准确地获得数字的平方根。
- 在下面的示例中,java中的do-while循环用于通过比较实际数字与其在while循环中的一半的差异来进行迭代。逼近逻辑在 do 块中执行。
- 最后通过上述计算得到高精度的近似平方根值,并返回最终值。
- 该程序的效率取决于用于求数字平方根的方法。使用多种数学或数值方法来找出数字的平方根,其中效率和准确性取决于所使用的方法及其复杂性。
- 算法的效率还取决于输入数字的大小。如果是一个非常大的数字,那么程序的性能就会受到影响,需要重新考虑方法,一切都取决于需求和输入。
- 这里使用的输入数字的平方根是double数据类型,对于十进制数也可以计算平方根值。
在 Java 中实现平方根的示例
数字的平方根已使用Java编程语言实现如下,输出代码已显示在代码下方。
- 此处使用的方法输入参数为 double 数据类型,方法名称为 findSquareRoot(),该方法返回平方根值,返回类型为 int 数据类型。
- 调用 findSquareRoot() 方法后,它首先创建一个新的临时变量 num 来执行一些操作,然后创建另一个变量“half”将值除以一半并与原始值进行比较。
- 下一步有一个 do-while 循环,继续逼近输入值,直到获得准确的值。
- 它们确实包含 num 变量,该变量被分配一个值作为输入值,并且通过将 num 变量除以 value 变量并将该值添加到 half 变量并除以整个值,用新值覆盖 half 变量。
- 在 while 块中,逻辑包含计算结果值近似值的半值与输入值之间的差异,并将其值与“0”进行比较。
- dos 块中的这个过程会一直发生,直到 while 循环中的逻辑有效(即 true),通过使用否定运算符和赋值运算符(充当比较器)评估变量的差异。
- 一旦 while 逻辑变为 false,findSquareRoot() 方法就会返回 half 变量的值,并将结果赋值给变量来使用。
- 可以使用静态或非静态修饰符在任何地方调用相同的方法。在这个程序中,该方法被定义为静态,因此它已在 main 方法中被调用。
- 整个功能和两个方法都写在 SquareRoot 类中,它实际上封装了平方根功能的行为。
- 输入值可以按照 double 数据类型的最大容量传递,程序的复杂性再次取决于传递的输入值。
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;
}
}
登录后复制
输出:
1.414213562373095
结论
上面实现的数字的平方根是一种有多种可能性的方法,并且可以根据输入数字的要求和大小来接近任何方法。在继续执行特定方法之前,必须分析程序的时间和空间复杂度。
以上是Java 中的平方根的详细内容。更多信息请关注PHP中文网其他相关文章!