티스토리 뷰
재귀함수 (Recursion Function)
함수가 직접 또는 간접적으로 자신을 호출하는 프로세스를 재귀함수라고 한다.
코딩에서는 메서드를 여러개 만드는게 아니고,
이미 만들어진 메서드를 활용할 줄 알아야한다.
- 재귀함수는 내부적으로 스택(Stack)을 이용한다.
아래는 재귀함수를 이용한 예시이다.
하위 디렉토리의 파일 경로를 콘솔에 출력하기
package practice01;
import java.io.File;
public class FilePath {
public static void main(String[] args) {
/**
* 디렉토리를 주면 하위 디렉토리, 파일 경로를 콘솔에 출력하세요.
* C:\\Users\\negga\\Desktop\\재귀함수
*
*/
FilePath filePath = new FilePath();
filePath.run();
}
private void run() {
File file = new File("C:\\Users\\negga\\Desktop\\재귀함수");
findFiles(file);
}
private void findFiles(File file) {
File[] files = file.listFiles();
for(int i = 0; i < files.length; i++) {
if(files[i].isDirectory()) {
System.out.println("디렉토리명 : " + files[i].getAbsolutePath());
findFiles(files[i]);
}else {
System.out.println("파일명 : " + files[i].getAbsolutePath());
}
}
}
}
- 실행결과
파일명 : C:\Users\negga\Desktop\재귀함수\test01.txt
디렉토리명 : C:\Users\negga\Desktop\재귀함수\폴더1
파일명 : C:\Users\negga\Desktop\재귀함수\폴더1\test02.txt
디렉토리명 : C:\Users\negga\Desktop\재귀함수\폴더2
listFiles() 디렉토리 파일목록을 File 배열로 반환한다.
getAbsolutePath() 현재 실행중인 디렉토리 파일에 입력된 절대 경로 리턴
상대경로와 절대경로
절대 경로: 최초의 시작점으로 부터 경유한 경로를 전부 나타냄
최상위를 포함
상대 경로: 현재 위치를 기준으로 하여 목적지까지의 상대적인 경로를 의미
최상위를 거치지 않고도 이동이 가능
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- apachepoi
- 리눅스폐쇄망
- getRow
- createRow
- Postgresql12
- Centos7에서 Postgresql12 설치
- OpenLayers
- setForceFormulaRecalculation
- yumdownloader
- 부하측정
- svn프로젝트불러오기
- mybatisif
- Postgis
- 인터넷안되는환경에서설치
- CreateCell
- SVN
- 공간데이터
- 엑셀POI
- Geoserver
- 폐쇄망에서rpm설치
- 공간데이터병합
- Some resources were not updated.
- 폐쇄망에서패키지설치
- yumrepository
- jdbcType
- shp2pgsql
- postgis 설치
- 리눅스
- su postgres 안됨
- getCell
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함