求100到200的素数(质数)

/**
 * @author 玖洲林
 * Create Time 2019-08-17 下午 07:16
 */
public class PrimeNumber {
    public static void main(String[] args) {
        //100 - 300 中所有素数(质数) 1不是素数(质数) 素数大于1
        int num = getPrimeNumber(100, 200);
        System.out.println("共有" + num + "个素数(质数)");
    }

    private static int getPrimeNumber(int start, int end) {
        int num = 0;
        for (int i = start; i <= end; i++) {
            if(i > 1){
                boolean flag = true;
                for (int y = 2; y < i; y++) {
                    if (i % y == 0) {
                        flag = false;
                        break;
                    }

                }

                if (flag) {
                    System.out.println(i + "是素数(质数)");
                    num += 1;
                }
            }
        }
        return num;
    }
}

结果:

      101是素数(质数)
      103是素数(质数)
      107是素数(质数)
      109是素数(质数)
      113是素数(质数)
      127是素数(质数)
      131是素数(质数)
      137是素数(质数)
      139是素数(质数)
      149是素数(质数)
      151是素数(质数)
      157是素数(质数)
      163是素数(质数)
      167是素数(质数)
      173是素数(质数)
      179是素数(质数)
      181是素数(质数)
      191是素数(质数)
      193是素数(质数)
      197是素数(质数)
      199是素数(质数)
      共有21个素数(质数)

斐波那契数列

/**
 * 斐波那契
 * @author 玖洲林
 * Create Time 2019-08-17 下午 07:03
 */
public class Fibonacci {
    public static void main(String[] args) {
        int num = getFibonacci(7);
        System.out.println(num);
    }
    // 1 1 2 3 5 8 13
    private static int getFibonacci(int index) {
        if(index < 0) {
            return -1;
        } else if (index == 0){
            return 0;
        } else if (index <= 2){
            return 1;
        } else {
            int c = 0,b = 1,a = 1;
            for (int i = 3; i <= index; i++) {
                c = a + b;
                a = b;
                b = c;
            }
            return c;
        }
    }
}

使用静态内部类来实现单例多线程

import java.io.ObjectStreamException;
import java.io.Serializable;

/**
 * @author 玖洲林
 * Create Time 2019-08-17 下午 06:41
 */
public class Singleton implements Serializable {

    private static class SingletonHandler {
        private static final Singleton INSTANCE = new Singleton();
    }

    private Singleton() {
    }

    public static Singleton getInstance() {
        return SingletonHandler.INSTANCE;
    }

    private Object readResolve() throws ObjectStreamException {
        //反序列化
        return SingletonHandler.INSTANCE;
    }

}

单例多线程

/**
 * 多线程下的 单例
 * @author 玖洲林
 * Create Time 2019-08-17 下午 06:41
 */
public class Singleton {

    private static Singleton INSTANCE;

    static {
        INSTANCE = new Singleton();
    }

    public static Singleton getInstance(){
        if(INSTANCE == null){
            synchronized (Singleton.class){
                if(INSTANCE == null){
                    INSTANCE = new Singleton();
                }
            }
        }
        return INSTANCE;
    }
}

黑色星期五

import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * 计算今年的黑色星期五
 * @author 玖洲林
 * Create Date 2019-08-16 下午 04:27
 */
public class h5 {
    public static void main(String[] args) {
        //每个月的第13天为星期五则称之为黑色星期五
        //获取当前时间
        Calendar nowDate = Calendar.getInstance();
        //获取年
        int year = nowDate.get(Calendar.YEAR);
        //设置月份为1月( 1 - 1 )
        nowDate.set(Calendar.MONTH,0);
        //设置天数为 13日
        nowDate.set(Calendar.DAY_OF_MONTH,13);
        //规范控制台输出格式 yyyy-MM-dd
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //如果‘年’ 等于 ‘年’ 则循环 (2019 == 2019) true
        while (nowDate.get(Calendar.YEAR) == year){
            //判断是否为星期五(在国外每个星期的第一天为星期日,所以要减一)
            if(nowDate.get(Calendar.DAY_OF_WEEK) - 1 == 5){
                //输出
                System.out.println(sdf.format(nowDate.getTime()) + "是黑色星期五");
            }
            //月份 + 1 (当月份加到 12 在 + 1 时 年份会增加 循环条件将不成立 将结束循环)
            nowDate.add(Calendar.MONTH,1);
        }
        //return;
    }
}

冒泡排序

import java.util.Arrays;

/**
 * 冒泡排序
 * @author 玖洲林
 * Create Date 2019-08-16 下午 04:27
 */
public class h5 {
    public static void main(String[] args) {
        int[] nums = {9,7,58,24,24,28,15,74,51,574,145};
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 0; j < nums.length - 1 - i; j++) {
                if(nums[j] > nums[j + 1]){
                    int temp = nums[j];
                    nums[j] = nums[j+1];;
                    nums[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(nums));
        //输出结果 [7, 9, 15, 24, 24, 28, 51, 58, 74, 145, 574]
    }
}