public class MainClass {
/**
* Recursion 으로 문자열 길이 구하기
* @param String
* @return int
*/
public static int length(String str) {
if(str.equals(""))
return 0;
else
return 1 + length(str.substring(1));
}
/**
* Recursion 으로 문자열 출력하기
* @param String
* @return void
*/
public static void printChars(String str ){
if(str.length() == 0 )
return;
else{
System.out.print(str.charAt(0));
printChars(str.substring(1));
}
}
/**
* Recursion 으로 문자열 거꾸로 출력하기
* @param String
* @return void
*/
public static void printCharsReverse(String str) {
if(str.length() == 0 )
return ;
else {
printCharsReverse(str.substring(1));
System.out.print(str.charAt(0));
}
}
/**
* Recursion 으로 입력된 정수의 이진수 출력하기
* @param int
* @return void
*/
public static void printInBinary( int n ){
if(n<2)
System.out.println(n);
else {
printInBinary(n/2);
System.out.println(n%2);
}
}
public static int sum( int n , int[] data ) {
if (n <= 0 )
return 0;
else
return sum( n-1 ,data) + data[n-1];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String testStr = "ABCDE";
String testStr1 = "E";
System.out.println( MainClass.length(testStr) );
MainClass.printChars(testStr);
System.out.println();
MainClass.printCharsReverse(testStr);
System.out.println(testStr1.substring(1));
int[] intArray = {1,2,3,4};
System.out.println( MainClass.sum( 4, intArray) );
}
}
댓글 없음:
댓글 쓰기