java怎麼開根號
❶ java 開根號的頭文件是什麼
對於開根號,使用的是數學工具包java.lang.Math類中的sqrt函數,而java.lang包是默認導入的,所以不需要額外導入包,直接調用就可以了,如
doubleans=Math.sqrt(2.0);//將根號2的值賦值給ans
說明:
sqrt函數原型:
publicstaticdoublesqrt(doublea)
作用是返回正確舍入的double值的正平方根。
參數a的各種取值得到的結果:
1、如果參數是 NaN 或小於零,那麼結果是 NaN。
2、如果參數是正無窮大,那麼結果就是正無窮大。
3、如果參數是正零或負零,那麼結果與參數相同。
否則,結果是最接近該參數值的真實數學平方根的 double 值。
❷ java語言如何求平方根
使用java.lang.Math類的sqrt(double)方法。 方法詳解: public static double sqrt(double a) 返回正確舍入的 double 值的正平方根。
Math是在java.lang這個包中的所以可以直接在程序中用這個Math類直接在程序中這樣就可以了:
double n;
n=Math.sqrt(9);//比如9是要平方的數
示例見下圖:
(2)java怎麼開根號擴展閱讀:
平方根計算:
1、功 能: 一個非負實數的平方根
2、函數原型: 在VC6.0中的math.h頭文件的函數原型為double sqrt(double);
3、說明:sqrt系Square Root Calculations(平方根計算),通過這種運算可以考驗CPU的浮點能力。
❸ java中如何對一個數開根號
java 中對一個數開根號可以使用系統提供的Math.sqrt() 函數進行操作
例:
Math.sqrt(3);//得到結果就是3
❹ java中怎麼求根號 是怎麼實現的來著
public static double sqrt(double a)返回正確舍入的 double 值的正平方根。特殊情況是:
如果參數是 NaN 或小於零,那麼結果是 NaN。
如果參數是正無窮大,那麼結果就是正無窮大。
如果參數是正零或負零,那麼結果與參數相同。
否則,結果是最接近該參數值的真實數學平方根的 double 值。
參數:
a - 一個值。
返回:
a 的正平方根。如果參數是 NaN 或小於零,那麼結果是 NaN。
cbrt
public static double cbrt(double a)返回 double 值的立方根。對於正的有限值 x,cbrt(-x) == -cbrt(x);也就是說,負值的立方根是該值大小的負立方根。特殊情況是:
如果參數是 NaN,那麼結果就是 NaN。
如果參數是無窮大,那麼結果是無窮大,且符號與參數符號相同。
如果參數是零,那麼結果是零,符號與參數符號相同。
計算結果必須在准確結果的 1 ulp 范圍內。
參數:
a - 一個值。
返回:
a 的立方根。
❺ 在java中數值根號2怎麼表示
正確表示方式是:
Math.sqrt(2)
sqrt函數所在類為數學工具包java.lang.Math類。sqrt函數原型:
publicstaticdoublesqrt(doublea)
作用是返回正確舍入的double值的正平方根。
參數a的各種取值得到的結果:
1、如果參數是 NaN 或小於零,那麼結果是 NaN。
2、如果參數是正無窮大,那麼結果就是正無窮大。
3、如果參數是正零或負零,那麼結果與參數相同。
否則,結果是最接近該參數值的真實數學平方根的 double 值。
❻ java語言如何求平方根
開平方用math.sqrt(double n);就可以了,n就是要被開方的數。 擴展下,如果要給m開n次方就用 java.lang.StrictMath.pow(m,1.0/n); 因為都是用的double類型的數字,所以會有誤差,比如 m=64;n=3,y=java.lang.StrictMath.pow(m,1.0/n); 這樣如果System.out.println(y);y就是3.9999999999999996 可以用下面的函數吧結果格式化下,格式化成整數 import java.text.DecimalFormat; public class Test82 { public static void main(String[] args) { double y=0; double x=64; int n=3;
y=java.lang.StrictMath.pow(x,1.0/n); DecimalFormat bd=new DecimalFormat("########");//把double四捨五入取整 System.out.println(bd.format(y)); } }
❼ java如和開根號
JAVA凡是涉及數學的符號前面都要加MATH。
class A{
public static void main(){
double m=4.0;
double n=Math.sqrt(m);
System.out.println(n);
}
}
(7)java怎麼開根號擴展閱讀:
java實現開根號的運算:
public static void main(String[] args) { long start = System.currentTimeMillis(); double
target=9876543212345d; double result =sqrt(target);
System.out.println("sqrt耗時:"+(System.currentTimeMillis()-start)+",result:"+result);
start=System.currentTimeMillis();
result =SqrtByBisection(target, 0);
System.out.println("SqrtByBisection耗時:"+(System.currentTimeMillis()
start)+",result:"+result);
start=System.currentTimeMillis();
result = SqrtByNewton(target, 0);
System.out.println("SqrtByNewton耗時:"+(System.currentTimeMillis()
start)+",result:"+result);
}
❽ java平方根用代碼怎麼實現
java.lang.Math.sqrt(double a) 返回正確舍入的一個double值的正平方根。
❾ Java中,如何對大數開根號啊!
java中對於大數BigInteger,BigDecimal開根號沒有提供函數,可以參考以下實現方法:
import java.math.BigDecimal;
import java.math.BigInteger;
public class BigSquareRoot {
final static BigInteger HUNDRED = BigInteger.valueOf(100);
public static BigDecimal sqrt(BigDecimal number, int scale, int roundingMode) {
if (number.compareTo(BigDecimal.ZERO) < 0)
throw new ArithmeticException("sqrt with negative");
BigInteger integer = number.toBigInteger();
StringBuffer sb = new StringBuffer();
String strInt = integer.toString();
int lenInt = strInt.length();
if (lenInt % 2 != 0) {
strInt = '0' + strInt;
lenInt++;
}
BigInteger res = BigInteger.ZERO;
BigInteger rem = BigInteger.ZERO;
for (int i = 0; i < lenInt / 2; i++) {
res = res.multiply(BigInteger.TEN);
rem = rem.multiply(HUNDRED);
BigInteger temp = new BigInteger(strInt.substring(i * 2, i * 2 + 2));
rem = rem.add(temp);
BigInteger j = BigInteger.TEN;
while (j.compareTo(BigInteger.ZERO) > 0) {
j = j.subtract(BigInteger.ONE);
if (((res.add(j)).multiply(j)).compareTo(rem) <= 0) {
break;
}
}
res = res.add(j);
rem = rem.subtract(res.multiply(j));
res = res.add(j);
sb.append(j);
}
sb.append('.');
BigDecimal fraction = number.subtract(number.setScale(0, BigDecimal.ROUND_DOWN));
int fracLen = (fraction.scale() + 1) / 2;
fraction = fraction.movePointRight(fracLen * 2);
String strFrac = fraction.toPlainString();
for (int i = 0; i <= scale; i++) {
res = res.multiply(BigInteger.TEN);
rem = rem.multiply(HUNDRED);
if (i < fracLen) {
BigInteger temp = new BigInteger(strFrac.substring(i * 2, i * 2 + 2));
rem = rem.add(temp);
}
BigInteger j = BigInteger.TEN;
while (j.compareTo(BigInteger.ZERO) > 0) {
j = j.subtract(BigInteger.ONE);
if (((res.add(j)).multiply(j)).compareTo(rem) <= 0) {
break;
}
}
res = res.add(j);
rem = rem.subtract(res.multiply(j));
res = res.add(j);
sb.append(j);
}
return new BigDecimal(sb.toString()).setScale(scale, roundingMode);
}
public static BigDecimal sqrt(BigDecimal number, int scale) {
return sqrt(number, scale, BigDecimal.ROUND_HALF_UP);
}
public static BigDecimal sqrt(BigDecimal number) {
int scale = number.scale() * 2;
if (scale < 50)
scale = 50;
return sqrt(number, scale, BigDecimal.ROUND_HALF_UP);
}
public static void main(String args[]) {
BigDecimal num = new BigDecimal("6510354513.6564897413514568413");
long time = System.nanoTime();
BigDecimal root = sqrt(num, 1000);
time = System.nanoTime() - time;
System.out.println(root);
System.out.println(root.pow(2));
System.out.println(time);
}
}
執行結果:
80686.76406162506362881367
6510354513.
46726188