``` package HONG; import java.util.Scanner; public class HONGS { public static void main(String[] args) { // TODO Auto-generated method stub String[] c = {"신","임","계","갑","을","병","정","무","기","경"}; String[] s = {"유","술","해","자","축","인","묘","진","사","오","미","신"}; Scanner scan = new Scanner(System.in); int nYear = 0; System.out.print("연도: "); nYear = scan.nextInt(); System.out.println(c[(nYear%10) -1] +s[(nYear%12) -1]+ "년"); scan.close(); } } ``` 여기서 `System.out.println(c[(nYear%10) -1] +s[(nYear%12) -1]+ "년");` `scan.close();` 이공식은 어디서 나오는건가요? 60갑자 구할때 쓰는 공식인가요 ? 이부분이 이해가 안되구요.. String[] s 나 String[] c 이부분은 다 문자 배열부분이죠? 아직 안 배웠는데 이런식으로 연습문제 나오길래요... 그리고 scan.close(); 이부분은 왜 닫아주는거죠? scan을 닫아야만 실해이되나요? 아직 안 배운 부분이라서 모르는건가요? 제가요?
### 배열과 나머지 연산자 아래는 배열과 나머지 연산자(`%`)를 사용하여 60갑자 문제를 공식화 한 코드입니다. ``` System.out.println(c[(nYear%10) -1] +s[(nYear%12) -1]+ "년"); ``` 지금 이해하려 하기보다는 배열 학습 후, 다시 한번 코드를 리뷰해보세요. 추천! (얼핏 보기에 년도 값에 따라 에러가 발생할 듯 합니다: 10년, 12년) ### 리소스 사용과 반환 하드웨어와 관련된 컴퓨터의 자원은 사용 후 반납해주어야 합니다. (도서관을 책을 다 본 후 반납하는 것과 같음) ``` Scanner scan = new Scanner(System.in); ``` 위 코드에서 스캐너는 키보드 입력 자원을 사용하는데, 사용 후 해당 자원을 반납하기 위해 사용합니다. ``` scan.close(); ```