java 程序片_Java程序片段

1. 根据开始时间和结束时间获取时间长度

import org.apache.commons.lang3.time.DurationFormatUtils;

import org.apache.commons.lang3.time.DateUtils;

public static String getDurationTime(Date begin, Date end) {

String format = "";

long durationTime = end.getTime() - begin.getTime();

if (durationTime < DateUtils.MILLIS_PER_MINUTE) {

format = "s秒";

} else if (durationTime <= DateUtils.MILLIS_PER_HOUR) {

format = "m分钟s秒";

} else if (durationTime <= DateUtils.MILLIS_PER_DAY) {

format = "H小时m分钟s秒";

} else {

format = "d天H小时m分钟s秒";

}

return DurationFormatUtils.formatDuration(durationTime, format);

}

2. 求最大公约数

public static int gcd(int p, int q) {

if (q == 0)

return p;

int r = p % q;

return gcd(q, r);

}

3. 二分查找

//数组a需要提前排序

public static int rank(int key, int[] a) {

int lo = 0;

int hi = a.length - 1;

while (lo <= hi) {

int mid = lo + (hi - lo) / 2;

if (key < a[mid])

hi = mid - 1;

else if (key > a[mid])

lo = mid + 1;

else

return mid;

}

return -1;

}

4. 判断一个数是不是素数

public static boolean isPrime(int N) {

if (N < 2)

return false;

for (int i = 2; i * i <= N; i++)

if (N % i == 0)

return false;

return true;

}

5. 求平方根的算法

public static double sqrt(double c) {

if (c < 0.0)

return Double.NaN;

double err = 1e-15;

double t = c;

while (Math.abs(t - c / t) > err * t)

t = (c / t + t) / 2.0;

return t;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值