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());
}
}