package?com.ict.dto;
創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)站制作、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)的建站公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風(fēng)格。自公司成立以來曾獨立設(shè)計制作的站點成百上千。
/**
*?Created?by?chenlong?on?2017/7/6.
*?Info:
*/
public?class?Point?{
public?double?lon;
public?double?lat;
public?Point(double?lon,?double?lat)?{
this.lon?=?lon;
this.lat?=?lat;
}
public?double?getLon()?{
return?lon;
}
public?void?setLon(double?lon)?{
this.lon?=?lon;
}
public?double?getLat()?{
return?lat;
}
public?void?setLat(double?lat)?{
this.lat?=?lat;
}
}??
private?int?R=6371000;//地球半徑
public?double?getDistance(Point?p1,Point?cirp2){
double?rad=Math.PI/180;
double?lat1=p1.getLat()*rad;
double?lat2=cirp2.getLat()*rad;
double?a=Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos((cirp2.getLon()-p1.getLon())*rad);
double?distance=R*Math.acos((Math.min(a,1)));
return?distance;
}
我運行了沒有錯誤,
結(jié)果為:377452.07099257887
原因分析 可能是你的環(huán)境沒有配置正確。。沒
你在cmd運行下
java 和javac 看看 是否環(huán)境配置正確。。
距離可以用r*arccos[cos(y1)*cos(y2)*cos(x1x2)+sin(y1)*sin(y2)]來算
r是地球半徑6370km,x是經(jīng)度,y是緯度
注意角度單位的轉(zhuǎn)換。Math類里的sin和cos函數(shù)的參數(shù)是以弧度為單位的角度,所以x1、x2、y1、y2要用弧度表示,但一般經(jīng)緯度都是用角度表示(如X1=120 東經(jīng)120度)就要化成弧度(x1*Pi/180)
而acos函數(shù)返回值正好是以弧度為單位的,剛好符合要求
如果你的代碼里的lat1、lat2、lon1、lon2單位是角度,可以這么改
double radius=6371000;
double distance=radius*Math.acos((Math.cos(lat2*Math.PI/180)*Math.cos(lat2*Math.PI/180)*Math.cos(lon1*Math.PI/180-lon2*Math.PI/180)+Math.sin(lat1*Math.PI/180)*Math.sin(lat2*Math.PI/180)));
我算出來是903.9千米
long radius = 6400000L; //半徑,單位是m
double circumference = 2*Math.PI*radius; //赤道長度,單位是m
double speed = 100/9.8; //這個人的跑步速度,單位是m/s
double time_required =circumference/speed; //這個人繞地球赤道一周的時間,單位是s
double time_required_day = (double)time_required/(24*60*60);// 需要的天數(shù)
結(jié)果是:45.61127111878515天
網(wǎng)站題目:java代碼地球半徑 我的世界java指令半徑
路徑分享:http://jinyejixie.com/article36/dodocpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、域名注冊、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、自適應(yīng)網(wǎng)站、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)