2012-03-27 7 views
5

Jak określić w java, jak utworzyć pierwiastek kwadratowy i wartość bezwzględną?Java, Jak określić wartość bezwzględną i pierwiastek kwadratowy

Oto co mam:

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

Ale czy istnieje prostszy sposób, aby uzyskać wartość bezwzględną w Java?

variable = |variable| 
+2

Czy istnieje język programowania, który definiuje | x | jako abs (x)? – CookieOfFortune

+0

@ CookieOfFortune Pora zrobić inny język programowania ... – JXPheonix

Odpowiedz

19

użyć statycznej metody w klasie Math dla obu - nie występują podmioty do tego w języku:

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

(Podobnie nie ma operatora do podnoszenia wartości do określonej mocy - użyj Math.pow za to .)

Jeśli używasz tych dużo, to może chcieć użyć importu statycznych aby kod był bardziej czytelny:

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

... 

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

zamiast

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

Idealny! Dziękuję Ci. – JXPheonix

1

pomocą klasy java.lang.Math, a zwłaszcza dla wartości bezwzględnej i pierwiastka kwadratowego :, metod abs() i sqrt().

+0

Klasa [Math] (http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html)? ;-) – assylias

+0

Muszę wziąć lekcję matematyki. – JXPheonix

1

Spróbuj użyć Math.abs:

variableAbs = Math.abs(variable); 

prostokątnych użytku root:

variableSqRt = Math.sqrt(variable); 
+0

Dzięki, jaki byłby pierwiastek kwadratowy? – JXPheonix

+0

Edytowałem swoją odpowiedź dla pierwiastka kwadratowego. –

0
Math.sqrt(Math.abs(variable)) 

nie może być bardziej proste, prawda?

Powiązane problemy