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

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

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

}

格林尼治时间(英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,因为本初子午线被定义为通过那里的经线。

格林尼治时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治平时基于天文观测本身的缺陷,已经被原子钟报时的协调世界时(UTC)所取代。

UTC 是 Coordinated Universal Time 的缩写,译为中文为“世界标准时间”,或“协调通用时间”/“协调世界时间”。UTC 根据原子钟计算时间,相比 GMT 更精确。

全球分为 24 个时区,东西各 12 区,相邻两个时区时间相差 1 小时,

北京是东八区,北京时间比 UTC 时间早 8 小时。

计算公式

UTC + 时区差 = 本地时间

UTC +0800 = 北京时间(时区差东为正,西为负,东八区=+0800)

这里注意:如果结果是负数就意味着是 UTC 前一天,把这个负数加上2400就是UTC在前一天的时间。

比如时间 "updatedAt": "2019-01-25T07:10:06.893Z" 是什么意思?看了下面这个 时间格式的标准 就知道答案啦。

合并表示时,要在时间前面加一大写字母T.

综上,揭晓答案, "updatedAt": "2019-01-25T07:10:06.893Z" 表示 UTC 时间的 2019 年1约25日7点10分06.893秒

时间戳(英语:Timestamp)是指字符串或编码信息用于辨识记录下来的时间日期。

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间 1970 年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。Unix时间戳不仅被使用在Unix系统,也在许多其他 *** 作系统中被广泛采用。

#include<stdio.h>

#define PAI 3.14//定义圆周率

int main(){

float r = 0

scanf("%f",&r) //输入半径,因为是小数,所以用FLOAT型接收

printf("共有约%ld亿吨",5.52*PAI*4/3*r*r*r*10)//数太大了,一个长整形都装不下,只能标称亿吨

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12064107.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存