Java,如何指定绝对值和平方根

时间:2012-03-27 21:56:12

标签: java math

如何在java中指定如何制作平方根和绝对值?

这就是我所拥有的:

if(variable < 0){
    variable = variable + variable2;
}

但有没有更简单的方法来获得Java的绝对值?

variable = |variable|

6 个答案:

答案 0 :(得分:24)

使用Math类中的静态方法 - 两种语言都没有运算符:

double root = Math.sqrt(value);
double absolute = Math.abs(value);

(同样没有操作员可以将值提升到特定的功率 - 使用Math.pow。)

如果您经常使用这些,可能需要使用静态导入来使代码更具可读性:

import static java.lang.Math.sqrt;
import static java.lang.Math.abs;

...

double x = sqrt(abs(x) + abs(y));

而不是

double x = Math.sqrt(Math.abs(x) + Math.abs(y));

答案 1 :(得分:1)

使用java.lang.Math类,特别是绝对值和平方根:abs()sqrt()方法。

答案 2 :(得分:1)

尝试使用Math.abs

variableAbs = Math.abs(variable);

对于平方根使用:

variableSqRt = Math.sqrt(variable);

答案 3 :(得分:0)

Math.sqrt(Math.abs(variable))

可能不是更简单吗?

答案 4 :(得分:0)

import java.util.Scanner;
class my{
public static void main(String args[])
{
    Scanner x=new Scanner(System.in);
    double a,b,c=0,d;
    d=1;
    d=d/10;
    int e,z=0;
    System.out.print("Enter no:");
    a=x.nextInt();

    for(b=1;b<=a/2;b++)
    {
        if(b*b==a)
        {
            c=b;
            break;
        }
        else
        {
            if(b*b>a)
            break;
        }
    } 
    b--;
    if(c==0)
    {
       for(e=1;e<=15;e++)
        {
            while(b*b<=a && z==0)
            {
                if(b*b==a){c=b;z=1;}
                else
                {
                    b=b+d;          //*d==0.1 first time*//
                    if(b*b>=a){z=1;b=b-d;}
                }
            }
            d=d/10;
            z=0;
        }
        c=b;
    }

        System.out.println("Squre root="+c);





}    
}    

答案 5 :(得分:0)

int currentNum = 5;
double sqrRoot = 0.0;
int sqrRootInt = 0;



sqrRoot=Math.sqrt(currentNum);
sqrRootInt= (int)sqrRoot;