Speed :1
New Score :0
High Score :0
New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. 급전을 친구에게 빌렸는데 오늘이 돈을 주기로 한날.. 그런데 카드값을 내야하는 날도 오늘인데... 이걸 어쩌나...
4. 우리 회사는 중요한 의사 결정을 할때?
5. 열심히 일한 나를 위한 선물을 주고싶다. 어떤게 좋을까?
6. 은행에서 투자상품을 추천받았다. 어떤걸 가입하지?
7. 회사에서의 나는?
8. 꿈에서 깨어나니 20년 전으로 돌아갔다. 당신이 제일 먼저 하는일은?
9. 내가 인사 담당자라면 신규 입사자 채용 시 제일 중요하게 보는것은?
10. 회사에 정말 싫어하는 동료가 있다면?
11. 가난한 집의 가장이 되었다.. 자녀의 생일 날 선물은?
12. 평소 회사 출근 스타일은?
13.회사 체육대회 하는 날이다. 오늘 뭐하지?
14. 나의 업무 스타일은?
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class PreviousDaysExcludingWeekends {
public static List<LocalDate> getPreviousWeekdays(int days) {
List<LocalDate> weekdays = new ArrayList<>();
LocalDate date = LocalDate.now().minusDays(1); // start from yesterday
while (weekdays.size() < days) {
if (!isWeekend(date)) {
weekdays.add(date);
}
date = date.minusDays(1); // go to previous day
}
return weekdays;
}
private static boolean isWeekend(LocalDate date) {
DayOfWeek dayOfWeek = date.getDayOfWeek();
return dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY;
}
}
코드에 대한 설명
- 필요한 클래스 LocalDate, DayOfWeek, ArrayList 및 List를 가져옵니다.
- 정수 'days'를 입력으로 사용하고 'LocalDate' 개체 목록을 반환하는 공개 정적 메서드 'getPreviousWeekdays'를 만듭니다.
- 평일을 저장하기 위해 새로운 ArrayList를 생성하고 LocalDate 객체 date를 어제로 초기화합니다.
- 'while' 루프를 사용하여 목록에 평일이 충분할 때까지 이전 날짜를 반복합니다.
- 루프 내에서 isWeekend 도우미 메서드를 호출하여 date가 주말인지 확인합니다. 주말이 아닌 경우 '평일' 목록에 추가합니다.
- '날짜'를 하루씩 줄이고 루프를 계속합니다.
- 마지막으로 weekdays 목록을 반환합니다.
isWeekend 메서드는 LocalDate 개체를 가져와서 토요일이나 일요일이면 true를 반환하고 그렇지 않으면 false를 반환하는 비공개 도우미 메서드입니다. 주말을 필터링하기 위해 getPreviousWeekdays 메서드 내에서 이 메서드를 사용합니다.
이 함수를 사용하려면 getPreviousWeekdays(5)를 호출하여 이전 5개의 평일(주말 제외)을 가져올 수 있습니다. 이 함수는 날짜 및 시간 작업에 편리한 방법을 제공하는 Java 8 날짜/시간 API를 사용합니다.
public void cal() {
int dayOfWeek = 0;
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, c.get(Calendar.DAY_OF_MONTH));
DateFormat df = new SimpleDateFormat("yyyyMMdd EEE");
for(int i = 0; i <= 4; i++) {
dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.MONDAY) {
c.add(Calendar.DATE, -3);
} else if(dayOfWeek == Calendar.SUNDAY) {
c.add(Calendar.DATE, -2);
} else {
c.add(Calendar.DATE, -1);
}
}
System.out.println(df.format(c.getTime()));
}
728x90
반응형