
正文
怎么利用JAVA距离代码 怎么利用java距离代码运行
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用Java代码求距离生日还有多少天?
package com.example.time.test;
import com.example.time.Utils.DateUtil;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/*
*@description:
*@author jiafeng
*@date 2019/12/6 0006 14:28
*/
public class brithday {
public static final String DATE_FORMAT = "yyyy-MM-dd";
public static void main(String[] args) {
String brithday = "12-07";
System.out.println(getBrithday(brithday));
}
public static int getBrithday(String brithday){
String dataOne = String.valueOf(getNowYear())+"-"+brithday;
String dataTwo = String.valueOf(getNowYear()+1)+"-"+brithday;
Date birthdayOne = DateUtil.parse(dataOne,DATE_FORMAT);
Date birthdayTwo = DateUtil.parse(dataTwo,DATE_FORMAT);
int n = 0;
if (birthdayOne.before(new Date())){
n = getIntervalDay(new Date(),birthdayTwo);
}else {
n = getIntervalDay(new Date(),birthdayOne);
}
return n;
}
/**
* 获取今年是哪一年
* @return
*/
public static Integer getNowYear(){
Date date = new Date();
GregorianCalendar gc=(GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
return Integer.valueOf(gc.get(1));
}
/**
* 获取两个日期之间间隔的天数
* @author sunyy
* @return
*/
public static int getIntervalDay(Date start_date, Date end_date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
start_date = sdf.parse(sdf.format(start_date));
end_date = sdf.parse(sdf.format(end_date));
} catch (ParseException e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.setTime(start_date);
long time1 = cal.getTimeInMillis();
cal.setTime(end_date);
long time2 = cal.getTimeInMillis();
long between_days = (time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
}
相关问答
Q1: 如何根据经纬度计算距离的java代码
思路是:通过传入地址作为参数拼接url调用百度地图,然后解析返回的页面,提取经纬度坐标。以下为具体步骤1、修改excel表中的属性名(方便后面用查询读取)然后倒入到数据库。2、代码实现
Q2: 谁知道用java编写计算平面内两条线段的最短距离,求解啊,急急急急急急急急啊~!!!十万火急啊~!!!!
求他们的4个端点坐标的距离。
假设:
线段一的2端坐标是(10,10)(20,25)
线段二的2端坐标是(39,40)(60,60)
现判断是否相交。相交的话最短距离是0。
不是相交的话。计算2个线段的端点距离。
端点距离可能有一下四种组合:
线段一(10,10)和线段二的(39,40)的距离
线段一(10,10)和线段二的(60,60)的距离
线段一(20,25)和线段二的(39,40)的距离
线段一(20,25)和线段二的(60,60)的距离
求2点之间的距离就不用我说了吧。求出以上4个距离值。最小的那个就是最短距离
Q3: java 求两点间距离的问题
两维空间里怎么利用JAVA距离代码,两点间怎么利用JAVA距离代码的距离公式是L = sqrt((x1-x2)^2+(y1-y2)^2);
多维空间的公式照推。
假设文件中数据如下怎么利用JAVA距离代码:
3
2怎么利用JAVA距离代码,5,6
6,8,5
则对应的代码如下怎么利用JAVA距离代码:
BufferedReader reader = new BufferedReader(new FileReader("C:/test.txt"));
//获取维数
String s1 = reader.readLine();
num = Integer.parseInt(s1);
//获取第一个坐标的信息,将其坐标信息保存在数组中
String s2 = reader.readLine();
String[]str2 = s2.split(",");
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);
以上代码直接在浏览器中完成,可能会有编码问题,楼主细察
Q4: 用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;
}
Q5: 用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距离代码的信息别忘了在本站进行查找喔。





