Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 구간합구하기
- Bean LifecCycle
- 슈더코드
- InterruptException
- this
- 백준
- 합배열
- 상속과 참조
- Java
- 구간합
- 백준 1235번
- 2차원배열 구간합
- 생성자
- ajax
- 백준 11659번
- @AllArgsConstructor
- select
- jquery
- pseudo-code
- 자바 람다식
- this와 this() 차이
- @NoArgsConstructor
- SQL
- function test
- json
- map()
- 마리아DB 쿼리 로그
- MariaDB Query Log
- interrupted()
- 백준 11660번
Archives
- Today
- Total
평범한 연구소
[JAVA] 생년월일로 나이와 띠 구하기 본문
'1998-08-08' 형식의 생년월일을 이용하여 현재 나이와 띠를 계산하는 로직을 짜보자.
현재 나이 구하기
- 우선 불필요한 문자 '-' 를 제거하고 년도, 월, 일 변수를 초기화한다.
- 올해 생일이 지났는지 확인해야한다.
- 현재 날짜(시스템날짜)의 월일과 내 생일의 월일을 비교하자.
- Calendar 객체를 이용하여 시스템 날짜 가져오기
String birth = "1998-08-08";
birth = birth.replace("-","");
int by = Integer.parseInt(birth.substring(0,4));
int bm = Integer.parseInt(birth.substring(4,6));
int bd = Integer.parseInt(birth.substring(6));
Calendar current = Calendar.getInstance();
int cy = current.get(Calendar.YEAR);
int cm = current.get(Calendar.MONTH) + 1;
int cd = current.get(Calendar.DAY_OF_MONTH);
int age = cy - by;
if ((cm<bm) || ((bm-cm) == 0 && cd < bd) ) {
age--;
}
띠 구하기
- 우선, 문자열 배열에 12간지를 순서대로 초기화해준다. 이 때 [0]에 어떤 띠가 올지 구해야한다.
- 년도를 12로 나눈 나머지가 0인 띠가 [0]에 오면 된다.
- 예를 들어 1998년생은 호랑이띠, 1998%12=166.5 이다. 1992%12=0 이므로 1992년생의 띠인 원숭이띠부터 순서대로 넣으면 된다.
String[] tti = new String[]{"원숭이띠","닭띠","개띠","돼지띠","쥐띠","소띠","범띠","도끼띠","용띠","말띠","양띠"};
String mytti;
mytti = tti[by%12];
out.print(<p><%=mytti></p>);
'JAVA > 알고리즘 공부' 카테고리의 다른 글
[백준] 10828번: 스택 (JAVA) (0) | 2022.11.05 |
---|---|
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 (JAVA) (0) | 2022.10.09 |
[JAVA] 정해진 시간마다 작업 실행 (0) | 2022.08.31 |
[JAVA] 랜덤으로 조 짜기 (0) | 2022.08.02 |
[JAVA] 10자리 무작위 임시 패스워드 만들기 (0) | 2022.07.22 |