java代码地球半径 我的世界java指令半径

我怎样写一个java程序,计算地球上两点之间的距离

package com.ict.dto;

创新互联是一家从事企业网站建设、成都网站建设、网站制作、行业门户网站建设、网页设计制作的专业的建站公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点成百上千。

/**

* 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;

}

一个java程序的调试问题

我运行了没有错误,

结果为:377452.07099257887

原因分析 可能是你的环境没有配置正确。。没

你在cmd运行下

java 和javac 看看 是否环境配置正确。。

用java写:求地球上任意两个点之间的距离,知道这两个点的经纬度

距离可以用r*arccos[cos(y1)*cos(y2)*cos(x1x2)+sin(y1)*sin(y2)]来算

r是地球半径6370km,x是经度,y是纬度

注意角度单位的转换。Math类里的sin和cos函数的参数是以弧度为单位的角度,所以x1、x2、y1、y2要用弧度表示,但一般经纬度都是用角度表示(如X1=120 东经120度)就要化成弧度(x1*Pi/180)

而acos函数返回值正好是以弧度为单位的,刚好符合要求

如果你的代码里的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千米

用Java编码实现 地球半径6400km,一人9.8s跑100m,以该速度绕跑赤道一圈需要几天?谢谢!

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);// 需要的天数

结果是:45.61127111878515天

网站题目:java代码地球半径 我的世界java指令半径
路径分享:https://www.cdcxhl.com/article36/dodocpg.html

成都网站建设公司_创新互联,为您提供静态网站域名注册企业网站制作品牌网站制作自适应网站微信公众号

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设