int p1[] =new int[num];
for(int i=0;inum;i++) {
p1[i] = Integer.parseInt(str2[i]);
}
//获取第二个坐标的信息,同上,略过
……
//将对应坐标之差保存到另外一个数组
int a []=new int[num];
for(int i = 0;inum;i++)
a[i] = p1[i]-p2[i];
//求这个数组各元素的平方和
int sum = 0;
for(int i=0;inum;i++) {
sum += a[i]*a[i];
}
求距离
int L = Math.sqrt(sum);
以上代码直接在浏览器中完成,可能会有编码问题,楼主细察
用java采用面向对象思想设计求两点间的距离 , 求代码import java.util.Scanner;
public class Demo
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
Point p1,p2;
System.out.println("请输入第1个点的x、y坐标:");
p1=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("请输入第2个点的x、y坐标:");
p2=new Point(sc.nextDouble(),sc.nextDouble());
System.out.println("点"+p1+"与点"+p2+"的距离是"+p1.distance(p2));
}
}
class Point
{
Point(double x,double y)
{
this.x=x;
this.y=y;
}
public String toString()
{
return "("+x+","+y+")";
}
double distance(Point p)
{
return Math.sqrt(Math.pow(this.x-p.x,2)+Math.pow(this.y-p.y,2));
}
private double x,y;
}
用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距离代码 怎么利用java距离代码运行】怎么利用JAVA距离代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怎么利用java距离代码运行、怎么利用JAVA距离代码的信息别忘了在本站进行查找喔 。
- mysql怎么设置时区 mysql时间显示设置
- 云服务器游戏出现黑屏问题怎么解决? 云服务器游戏黑屏怎么办
- redis缓存失效怎么办 redis缓存数据不一致
- 如何修改戴尔服务器的IP地址? 戴尔服务器ip地址怎么改
- mongodb大公司案例 MongoDB公司怎么样
- mysql下到了c盘 mysql怎么不存到c盘
- mysql怎么把两个字段拼在一起 mysql字段拼接中文
- 联合索引怎么创建 联合索引mongodb
- 如何正确接入高防服务器? 高防服务器怎么接
- mysql怎么看慢查询日志 mysql查看单表慢查询
