Java, Как указать абсолютное значение и квадратные корни - PullRequest
7 голосов
/ 28 марта 2012

Как указать в Java, как сделать квадратный корень и абсолютное значение?

Вот что у меня есть:

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

Но есть ли более простой способ получить абсолютное значение?значение в Java?

variable = |variable|

Ответы [ 6 ]

24 голосов
/ 28 марта 2012

Используйте статические методы в классе 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 голос
/ 28 марта 2012

Попробуйте использовать Math.abs :

variableAbs = Math.abs(variable);

Для использования с квадратным корнем:

variableSqRt = Math.sqrt(variable);
1 голос
/ 28 марта 2012

Используйте класс java.lang.Math , в частности, для абсолютного значения и квадратного корня:, методы abs() и sqrt().

0 голосов
/ 08 августа 2018
int currentNum = 5;
double sqrRoot = 0.0;
int sqrRootInt = 0;



sqrRoot=Math.sqrt(currentNum);
sqrRootInt= (int)sqrRoot;
0 голосов
/ 17 июля 2018
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);





}    
}    
0 голосов
/ 28 марта 2012
Math.sqrt(Math.abs(variable))

Не проще ли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...