2018/07/17 - [프로그램 자료/Java & Spring] - [Java] 해당일의 요일 알아내기/요일 구하기 DAY_OF_WEEK



월요일:0 ~ 일요일:6 까지의 값을 가진다고 가정하고 해당 기간에 대해서 일자를 바꿔야 하는 업무가 생겼다.


시작일을 바꾸어 주면 해당 리스트에서 seq를 변경해주어야하는데, 

코루틴(yield를 사용하는)을 사용하고 싶었다.


근데 자바에서는 그렇게 구현하지는 않는 것 같았다.


아래 소스는 내가 원하는대로 동작은 하지만 엄밀하게는 코루틴이 아닌 것 같다. 




import java.util.Arrays;

import java.util.List;

public class WorkTableTemplateGenerator {

    private List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5, 6);

    private final int initStart;

    private int cur = 0;

 

    public WorkTableTemplateGenerator(int init) {

        this.initStart = init;

    }

 

    public short next() {

        int pick = this.cur + this.initStart;

        if(pick > 6)

            pick = pick % 7;

        else if(pick < 0)

            pick += 7;

       

        this.cur++;

        return (short) (list.get(pick).intValue());

    }

 

    public short getSeq(short prevSeq) {

        int pick = prevSeq + this.initStart;

        if(pick > 6)

            pick = pick % 7;

        else if(pick < 0)

            pick += 7;

       

        this.cur++;

        return (short) (list.get(pick).intValue());

    }

}

 


Posted by motolies
,