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;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [Java编程题90道] 1.完成数组int[] a = {100,40, 60, 87, 34, 11, 56,...
    Mr_不靠谱_先森阅读 5,420评论 0 3
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 2,652评论 0 5
  • 归去来兮。 1.1 说明 本篇为《挑战程序设计竞赛(第2版)》[http://www.ituring.com.cn...
    尤汐Yogy阅读 14,451评论 0 160
  • 其实陈星妤长得不难看,甚至还有点好看。 双眼皮,大眼睛,高鼻梁,樱桃小嘴,女生们最想拥有的完美五官,陈星妤都有。可...
    岸上行走的鱼阅读 5,036评论 58 153
  • 我第一次去参加盛大杯游泳赛时,看见我们班的所有人坐在我旁边积极奋勇,我看到了一个东西,是我喜欢的东西,让我心...
    mandykevin阅读 197评论 0 0