일반적인 문자열 길이 계산
Pseudo code
if the string is empty
return 0;
else
return 1 plus the length of the string that excludes the first character;
public static int length(String str){
if(str.equals(""))
return 0; /* base case */
else
return 1+length(str.substring(1)); /* recursive case */
}
public static void printChars(String str){
if(str.length()==0)
return;
else{
System.out.print(str.charAt(0)); /* charAt() 문자열의 첫 문자를 리턴 */
printChars(str.substring(1));
}
}
public static void printCharsReverse(String str){
if(str.length()==0)
return;
else{
printCharsReverse(str.substring(1));
System.out.print(str.charAt(0));
}
}
음이 아닌 정수 n을 이진수로 변환하여 인쇄한다.
public void printInBinary(int n){
if(n<2) /* base case */
System.out.print(n);
else {
printInBinary(n/2); // n을 2로 나눈 몫을 먼저 2진수로 변환하여 인쇄한 후
System.out.print(n%2); // n을 2로 나눈 나머지를 인쇄한다.
}
}
data[0]에서 data[n-1]까지의 합을 구하여 반환한다.
public static int sum(int n, int [] data){
if(n<=0)
return 0;
else
return sum(n-1, data) + data[n-1];
}
Scanner in이 참조하는 파일로 부터 n개의 정수를 입력받아 배열 data의 data[0] ,..., data[n-1]에 저장한다.
public void readFrom(int n, int [] data, Scanner in)}
if(n==0)
return;
else{
readFrom(n-1, data, in);
data[n-1] = in.nextInt();
}
}
Reference