CodeGym /Java 博客 /随机的 /Math.sqrt 方法 - Java 中的平方根
John Squirrels
第 41 级
San Francisco

Math.sqrt 方法 - Java 中的平方根

已在 随机的 群组中发布
虽然在 Java 中计算平方根并不是软件开发面试的常见问题,但有时面试可能会问您类似这样的问题:“ 你有一个整数 x。创建一个 Java 程序来计算它的平方根”。 为了确保这样一个基本问题不会让您措手不及,让我们来看看如何在 Java 中求平方根。

平方和平方根:复习数学概念

为了确保您在处理平方和根时没有混淆,让我们回顾一下这个概念的理论。一个数的平方就是这个数乘以它自己。如果 n = 4,则 n^2 = 4 4 = 16。一个数的平方根是将其与自身相乘得到给定值 X 的数。例如,您必须找到 n = 的平方根16、通过找到一个数,如果提升到2的次方给出16,你就会解决这个问题。对于 n,数字 16 的平方根是 4(因为 4 * 4 = 16)。

如何使用 java.lang.Math.sqrt() 在 Java 中求平方根

在 Java 中查找数字平方根的最常见方法是应用 方法java.lang.Math.sqrt()。下面是 java.lang.Math.sqrt() 方法的一般语法:

public static double sqrt(double a)
在该方法中,a 是一个提升到您想要求平方根的 2 次方的值。一旦开发人员申请java.lang.Math.sqrt(),该方法将返回 a 的正平方根(如果 a 大于 0)。对于负参数,java.lang.Math.sqrt返回 NaN 输出。

java.lang.Math.sqrt() 返回的特例

如上所述,在大多数情况下,该方法返回正值。但是,开发人员在创建寻根程序时应该注意一些特定情况。
  • 对于具有 NaN 值或负数的参数,该方法将返回 NaN 结果。
  • 对于无限正的参数,该方法将返回无限正的结果。
  • 对于由正零或负零组成的参数,a 的平方根将等于 a。

使用 java.lang.Math.sqrt() 的例子


package MyPackage;
 
public class SquareRoot2 {
 
    public static void main(String args[])
    {
        double a = 100;
   
        System.out.println(Math.sqrt(a));
        // For positive values, the output is the square root of x 
   
        double b = -81.00;
   
        System.out.println(Math.sqrt(b));
        // For negative values as input, Output NaN 
   
        double c = 0.0/0;
        // Input NaN, Output NaN 
   
        System.out.println(Math.sqrt(c));
   
        double d = 1.0/0; 
        // For inputs containing  positive infinity, Output positive infinity  
   
        System.out.println(Math.sqrt(d));
         
        double e = 0.0;
        // Input positive Zero, Output positive zero 
         
        System.out.println(Math.sqrt(e));
    }
         
}

Java练习题求平方根

现在您已经知道如何在 Java 中创建一个计算平方根的程序,让我们来看看这个概念如何适用于更高级的实践问题。例如,面试官可能会要求您求解二次方程。让我们来看看如何处理这样的问题。 问题:求解一个二次方程,其中 a = 1,b = 5,c = 2。 解决方案:

import java.util.Scanner;
public class Exercise2 {

    
  public static void main(String[] Strings) {

        Scanner input = new Scanner(System.in);

            System.out.print("Input a: ");
            double a = input.nextDouble();
            System.out.print("Input b: ");
            double b = input.nextDouble();
            System.out.print("Input c: ");
            double c = input.nextDouble();

            double result = b * b - 4.0 * a * c;

            if (result > 0.0) {
                double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
                double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
                System.out.println("The roots are " + r1 + " and " + r2);
            } else if (result == 0.0) {
                double r1 = -b / (2.0 * a);
                System.out.println("The square root is " + r1);
            } else {
                System.out.println("There are no real square roots in the equation.");
            }

    }
}

结论

这是关于在 Java 中求一个数的平方根的简要概述。对于软件开发初学者来说,练习不同的场景(a>0、a<0、a = 0)以牢牢掌握概念是个不错的主意。一旦了解了 java.lang.Math.sqrt 方法的来龙去脉,就可以开始在复杂的程序中应用该方法,处理诸如求解二次方程式之类的任务。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION