使用java.lang.Math類(lèi)的sqrt(double)方法。 方法詳解: public static double sqrt(double a) 返回正確舍入的 double 值的正平方根。
為雙牌等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及雙牌網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、雙牌網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
Math是在java.lang這個(gè)包中的所以可以直接在程序中用這個(gè)Math類(lèi)直接在程序中這樣就可以了:?
double n;?
n=Math.sqrt(9);//比如9是要平方的數(shù)
示例見(jiàn)下圖:
結(jié)果是:
擴(kuò)展資料:
平方根計(jì)算:
1、功 能: 一個(gè)非負(fù)實(shí)數(shù)的平方根
2、函數(shù)原型: 在VC6.0中的math.h頭文件的函數(shù)原型為double sqrt(double);
3、說(shuō)明:sqrt系Square Root Calculations(平方根計(jì)算),通過(guò)這種運(yùn)算可以考驗(yàn)CPU的浮點(diǎn)能力。
參考資料:百度百科-平方根計(jì)算
JAVA凡是涉及數(shù)學(xué)的符號(hào)前面都要加MATH。
class A{
public static void main(){
double m=4.0;
double n=Math.sqrt(m);
System.out.println(n);
}
}
擴(kuò)展資料:
java實(shí)現(xiàn)開(kāi)根號(hào)的運(yùn)算:
public static void main(String[] args) { long start = System.currentTimeMillis(); double
target=9876543212345d; double result =sqrt(target);
System.out.println("sqrt耗時(shí):"+(System.currentTimeMillis()-start)+",result:"+result);
start=System.currentTimeMillis();
result =SqrtByBisection(target, 0);
System.out.println("SqrtByBisection耗時(shí):"+(System.currentTimeMillis()
start)+",result:"+result);
start=System.currentTimeMillis();
result = SqrtByNewton(target, 0);
System.out.println("SqrtByNewton耗時(shí):"+(System.currentTimeMillis()
start)+",result:"+result);
}
這個(gè)沒(méi)法直接用Math.sqrt實(shí)現(xiàn),得自己寫(xiě)一個(gè)求平方根的方法,比如二分法,然后一點(diǎn)點(diǎn)的逼近。參數(shù)類(lèi)型要選擇BigDecimal。
取平方根的方法網(wǎng)上很多,比如下面這個(gè)
public?static?double?sqrt(double?t,?Double?precise)?{??
double?low?=?0,?high?=?t,?middle,?squre,??
prec?=?precise?!=?null???precise?:?1e-5;??
if?(?t??0?)?{??
throw?new?RuntimeException("Negetive?number?cannot?have?a?sqrt?root.");??
}else?if(t=1){
while?(?high?-?low??prec?)?{??
middle?=?(?low?+?high?)?/?2;??
squre?=?middle?*?middle;??
??
if?(?squre??t?)?{??
high?=?middle;??
}?else?{??
low?=?middle;??
}??
}?
return?(?low?+?high?)?/?2;??
}else{
low?=?t;
high?=?1;
while?(?high?-?low??prec?)?{??
middle?=?(?high+low?)?/?2;??
squre?=?middle?*?middle;??
if?(?squre??t?)?{??
high?=?middle;??
}?else?{??
low?=?middle;??
}??
}?
return?(?high?+?low?)?/?2?+?squre;??
}
}
不過(guò)這個(gè)參數(shù)類(lèi)型是double的,到不了64位小數(shù),改寫(xiě)成BigDecimal類(lèi)型的就可以了
對(duì)于開(kāi)根號(hào),使用的是數(shù)學(xué)工具包java.lang.Math類(lèi)中的sqrt函數(shù),而java.lang包是默認(rèn)導(dǎo)入的,所以不需要額外導(dǎo)入包,直接調(diào)用就可以了,如
double?ans?=?Math.sqrt(2.0);//將根號(hào)2的值賦值給ans
說(shuō)明:
sqrt函數(shù)原型:
public?static?double?sqrt(double?a)
作用是返回正確舍入的double值的正平方根。
參數(shù)a的各種取值得到的結(jié)果:?
1、如果參數(shù)是 NaN 或小于零,那么結(jié)果是 NaN。?
2、如果參數(shù)是正無(wú)窮大,那么結(jié)果就是正無(wú)窮大。?
3、如果參數(shù)是正零或負(fù)零,那么結(jié)果與參數(shù)相同。?
否則,結(jié)果是最接近該參數(shù)值的真實(shí)數(shù)學(xué)平方根的 double 值。
double num=4.0;
double num2=Math.sqrt(num);
System.out.println(num2);
Math.sqrt(num);是Java內(nèi)置的開(kāi)根號(hào)的函數(shù)